Директорияи мақолаҳо
💻 dos2unix: фармон ёфт нашуд? Ин хатогиро фавран бо як фармон ислоҳ кунед ва мушкилоти табдили аломатҳои сатри навро дар Windows ба Linux ҳал кунед - зуд оғоз кунед! 🚀
Оё шумо ягон бор бо ин вазъият дучор шудаед?
Дар терминали Linux хушбахтона кор мекунад dos2unix check_htaccess.sh, ва система ба шумо як торсакии баланд дод:
-bash: dos2unix: command not found
Тафаккури шумо ногаҳон фурӯ рафт? !
Ин охири дунё нест ва на он аст, ки скрипти навиштаи шумо заҳрнок аст, аммо системаи шумо онро умуман насб накардааст. dos2unix Ин восита.
Баъдан, биёед чой нӯшем ва дар бораи он ки чаро ин хатогӣ рух дод ва чӣ гуна онро якбора ислоҳ кардан мумкин аст, сӯҳбат кунем.
dos2unix чист? Чаро шумо ба он ниёз доред?
dos2unix Вазифаи асосии ин фармон ин астТабдил додани охири сатри Windows (CRLF) ба охири сатри Unix (LF).
Шумо метавонед пурсед: "Чаро аломати сатри навро табдил додан лозим аст? Оё ин танҳо як сатри нав нест?"
хато! Тарзи коркарди файлҳои матнии Windows ва Unix ба одамони чапдаст ва ростдаст монанд аст, онҳо усулҳои гуногун доранд, аммо ҳарду метавонанд нависад.
Windows истифода мебарад CRLF(баргашти вагон + хўроки хати), дар ҳоле ки Unix танҳо истифода мебарад LF(Танаффуси сатр).
Агар шумо файли матниро аз Windows ба Linux интиқол диҳед, Linux эҳтимолан ба он бо нафрат нигоҳ карда, мегӯяд: "Дӯстам, формати шумо нодуруст аст!"
Дар ҳамин лаҳза dos2unix Он ба шумо кӯмак мекунад, ки файлҳои формати Windows-ро ба форматҳои Unix мувофиқ табдил диҳед ва аз хатогиҳои гуногуни аҷиб канорагирӣ кунед.
Чаро "фармон ёфт нашуд" пайдо мешавад?
Ин хеле содда аст, система ин фармонро умуман насб накардааст!
Дар бисёр тақсимоти Linux (хусусан системаҳои ҳадди ақал насбшуда),dos2unix Бо нобаёнӣ насб карда нашудааст, Пас, агар шумо хоҳед, ки онро истифода баред, шумо бояд аввал онро насб кунед.
Тасаввур кунед, ки шумо мехоҳед қулфи дарро таъмир кунед, аммо шумо мефаҳмед, ки дар қуттии асбобҳо буранда нест. Оё шумо ноумед намешавед?
Чӣ тавр dos2unix насб кардан мумкин аст?
Ҳалли оддӣ аст! То он даме, ки шумо имтиёзҳои администратор доред, шумо метавонед онро ба осонӣ насб кунед.

1. Силсилаи Debian/Ubuntu
Агар шумо Debian, Ubuntu ё дигар системаҳои Debian-ро истифода баред, танҳо иҷро кунед:
apt-get update && apt-get install dos2unix -y
2. CentOSСилсилаи /RHEL
Агар шумо CentOS ё RHEL-ро истифода баред, шумо метавонед истифода баред yum Барои насб:
yum install dos2unix -y
Ё, агар системаи шумо истифода кунад dnf(Ба CentOS 8+ дахл дорад):
dnf install dos2unix -y
3. ArchLinux
Истифодабарандагони Arch одатан бештар "ҷаноби" ва дар иҷрои корҳо хубтаранд, аммо агар шумо насб накарда бошед dos2unix, танҳо истифода баред pacman Насб кунед:
pacman -S dos2unix
4. макос
Агар шумо корбари macOS бошед, шумо метавонед онро бо Homebrew насб кунед:
brew install dos2unix
Чӣ тавр ман метавонам тафтиш кунам, ки насбкунӣ муваффақ аст?
Пас аз насб, кӯшиш кунед, ки ин фармонро иҷро кунед:
dos2unix --version
Агар он рақами версияро итоаткорона барорад, табрик, насбкунӣ муваффақ аст!
Оё ба ман дар ҳақиқат dos2unix лозим аст?
Шумо шояд пай бурдед, ки давидан file check_htaccess.sh Баъд аз он, система маълумоти зеринро дод:
check_htaccess.sh: Bourne-Again shell script, Unicode text, UTF-8 text executable, with very long lines (327)
Ин маънои онро дорад, ки скрипти шумо аллакай скрипти Unix бо UTF-8 рамзгузорӣ шудааст ва аз ҷиҳати назариявӣ набояд ягон мушкилоти аломатҳои сатри нав вуҷуд дошта бошад.
Пас, барои насб кардани он чаро ташвиш мекашед? dos2unix Чӣ?
Зеро на ҳама файлҳо ин қадар хушбахтанд!
Агар файле, ки шумо аз Windows интиқол додаед, дар бар гирад CRLF, ки метавонад баъзе барномаҳои Linuxро барои таҳлили хатогиҳо ё ҳатто ба вуҷуд оварад bash Ман иштибоҳан фикр мекунам, ки дар скрипти шумо чизе нодуруст аст.
Пас, доштани dos2unix, ҳамон тавре ки шумо бо худ корди иловагии артиши Швейтсария доред, шумо метавонед файлҳои формати Windows-ро дар вақти дилхоҳ таъмир кунед ва эҳтимолияти хатогиҳоро кам кунед!
Агар ман намехоҳам dos2unix насб кунам, оё роҳи дигаре ҳаст?
Албатта! Дар ҷаҳони Linux норасоии "табобатҳои хонагӣ" вуҷуд надорад!
Усули 1: Истифодаи sed
sed Он инчунин як асбоби ҷодугарест, ки метавонад бикушад CRLF Танаффусҳои сатр:
sed -i 's/\r$//' check_htaccess.sh
Усули 2: Истифода tr
tr Он инчунин як абзори собиқадори Unix аст, ки метавонад хориҷ карда шавад CR:
tr -d '\r' < check_htaccess.sh > newfile.sh
mv newfile.sh check_htaccess.sh
Усули 3: Истифодаи vim
Агар шумо одат карда бошед vim, ту метавонӣ vim Ин аст, ки чӣ тавр ин корро кардан мумкин аст:
:set fileformat=unix
:wq
Хулоса: dos2unix панацея нест, аммо қулай аст!
Вақте ки шумо мебинед dos2unix: command not found Вақте ки шумо хато мекунед, воҳима накунед!Шумо танҳо "асбоби табдили формат" надоред.
dos2unixАсосан барои истифода бурда мешавадМасъалаи қатъ кардани хат аз Windows ба Unix- Ин воситаБо нобаёнӣ насб карда нашудааст, бинобар ин шумо бояд онро худатон насб кунед
- Усули насб хеле содда аст, системаҳои гуногун фармонҳои гуногун доранд (
apt-get,yum,dnf,pacman,brew) - Агар шумо нахоҳед насб кунед, истифода бурдан мумкин аст
sed,tr或vimБарои таъмири дастӣ
Дафъаи дигар шумо бо ин мушкилот рӯ ба рӯ мешавед, шумо хоҳед донист, ки чӣ гуна онро ҳал кунед!
Дар хотир доред, ки гап сари доштани асбобҳои зиёд нест, балки дар бораи донистани тарзи истифодаи онҳо аст! Акнун, ки шумо ин "асбоби табдилдиҳӣ"-ро аз худ кардаед, онро санҷед! 🚀
Умедворем, ки мақолаи "✅ dos2unix: хатогии фармон ёфт нашуд? Ин фармони яксатра онро дар тӯли чанд сония ҳал мекунад!", ки дар блоги Чен Вейлианг ( https://www.chenweiliang.com/ ) мубодила шудааст, барои шумо муфид хоҳад буд.
Озодона истиноди ин мақоларо мубодила кунед: https://www.chenweiliang.com/cwl-32651.html
