Adresář článků
💻 dos2unix: příkaz nenalezen? Opravte tuto chybu okamžitě jediným příkazem, který vyřeší problémy s převodem znaků nového řádku z Windows do Linuxu – začněte rychle! 🚀
Setkali jste se někdy s touto situací?
Vesele běží v linuxovém terminálu dos2unix check_htaccess.sh, systém vám dal hlasitou facku:
-bash: dos2unix: command not found
Zhroutila se náhle vaše mentalita? !
Není to konec světa, není to tím, že by skript, který jste napsal, byl jedovatý, jde jen o to, že váš systém není vůbec nainstalován. dos2unix tento nástroj.
Dále si dáme čaj a povíme si o tom, proč k této chybě došlo a jak ji jedním dechem opravit.
Co je dos2unix? Proč to potřebuješ?
dos2unix Hlavní funkcí tohoto příkazu jePřevod řádků Windows (CRLF) na Unix line feed (LF).
Můžete se zeptat: "Co je tak snadného na převodu nových řádků? Nejsou všechny stejné jako nové řádky?"
špatně! Windows a Unix zpracovávají textové soubory stejně jako leváci a praváci, kteří píší různými způsoby, ale oba umí psát.
Windows používá CRLF(carriage return + line feed), zatímco Unix používá pouze LF(nový řádek).
Pokud přenesete textový soubor z Windows do Linuxu, Linux se na něj může podívat s odporem a říct: "Bratře, tvůj formát je špatný!"
V této době dos2unix To se hodí, pomůže vám to převést soubory ve formátu Windows do formátu vhodného pro Unix a vyhnout se různým podivným chybám.
Proč se zobrazuje „příkaz nenalezen“?
Je to velmi jednoduché, systém tento příkaz vůbec nemá nainstalovaný!
V mnoha distribucích Linuxu (zejména minimálně instalovaných systémech)dos2unix Ve výchozím nastavení není nainstalováno, takže pokud jej chcete používat, musíte jej nejprve nainstalovat.
Představte si, že chcete opravit zámek dveří, jen abyste zjistili, že v krabici s nářadím není šroubovák. Jak se nemůžeš rozpadnout?
Jak nainstalovat dos2unix?
Řešení je jednoduché! Pokud máte práva správce, můžete jej snadno nainstalovat.

1. Série Debian/Ubuntu
Pokud používáte Debian, Ubuntu nebo jiný systém založený na Debianu, stačí spustit:
apt-get update && apt-get install dos2unix -y
2. CentOS/série RHEL
Pokud používáte CentOS nebo RHEL, můžete použít yum Instalace:
yum install dos2unix -y
Nebo, pokud váš systém používá dnf(pro CentOS 8+):
dnf install dos2unix -y
3. ArchLinux
Uživatelé Arch jsou obecně "geekové" a mají silné DIY dovednosti, ale pokud jste si to ještě nenainstalovali dos2unix, stačí použít pacman 安装:
pacman -S dos2unix
4. MacOS
Pokud jste uživatelem macOS, můžete si jej nainstalovat pomocí Homebrew:
brew install dos2unix
Jak zkontrolovat, zda instalace proběhla úspěšně?
Po instalaci zkuste spustit tento příkaz:
dos2unix --version
Pokud poslušně vypíše číslo verze, gratulujeme, instalace je úspěšná!
Opravdu potřebuji dos2unix?
Možná jste si všimli toho běhání file check_htaccess.sh Poté systém poskytl tyto informace:
check_htaccess.sh: Bourne-Again shell script, Unicode text, UTF-8 text executable, with very long lines (327)
To znamená, že váš skript je již unixový skript s kódováním UTF-8 a teoreticky by neměly být žádné problémy s novými řádky.
Tak proč pořád předstíráš? dos2unix Co?
Protože ne všechny soubory mají takové štěstí!
Pokud soubor přenesený ze systému Windows obsahuje CRLF, může to způsobit některé chyby při analýze linuxového programu nebo dokonce způsobit bash Mylně se domnívám, že s vaším skriptem není něco v pořádku.
Takže mějte dos2unix, je to, jako byste s sebou měli další švýcarský nůž, soubory ve formátu Windows můžete kdykoli opravit a snížit pravděpodobnost chyb!
Pokud nechcete instalovat dos2unix, existuje nějaký jiný způsob?
Samozřejmě! Ve světě Linuxu není nouze o „domácí řešení“!
Metoda 1: Použijte sed
sed Je to také magický nástroj, dokáže zabíjet CRLF Znak nového řádku:
sed -i 's/\r$//' check_htaccess.sh
Metoda 2: Použijte tr
tr Je to také starý unixový nástroj, který lze odstranit CR:
tr -d '\r' < check_htaccess.sh > newfile.sh
mv newfile.sh check_htaccess.sh
Metoda 3: Použijte vim
Pokud jste zvyklí používat vim, lze nalézt v vim Funguje to takto:
:set fileformat=unix
:wq
Shrnutí: dos2unix není všechno, ale je velmi pohodlné!
když vidíš dos2unix: command not found Nepropadejte panice, když uděláte chybu!Chybí vám pouze „artefakt konverze formátu“.
dos2unixPoužívá se hlavně proOpraven problém s novým řádkem Windows to Unix- tento nástrojVe výchozím nastavení není nainstalováno, takže si jej musíte nainstalovat sami
- Způsob instalace je velmi jednoduchý, různé systémy mají různé příkazy (
apt-get,yum,dnf,pacman,brew) - Pokud nechcete instalovat, lze použít
sed,trNebovimopravit ručně
Až se příště setkáte s tímto problémem, budete vědět, jak jej vyřešit!
Pamatujte, že nejde o to mít mnoho nástrojů, ale o to vědět, jak je používat! Teď, když jste zvládli tento „nástroj pro převod“, zkuste ho vyzkoušet! 🚀
Doufejme, že vám bude užitečný článek „✅ dos2unix: chyba „příkaz nenalezen? Tento jednořádkový příkaz ji vyřeší během několika sekund!“ sdílený na blogu Chen Weilianga ( https://www.chenweiliang.com/ ).
Neváhejte a sdílejte odkaz na tento článek: https://www.chenweiliang.com/cwl-32651.html
