Tato otázka již má odpovědi zde :
Komentáře
- Související: linka shebang nefunguje s cr-lf
- … protože používáte
vimůžete mezi konci řádků přepínat pomocí:set ff=unixa:set ff=dos - existuje spousta otázek týkajících se této ČR, pokud hledáte
^MCo je^Ma jak zbavím se toho? , Unixový skript připojí ^ M na konec každého řádku , -bash: ./my_script: / bin / bash ^ M : špatný tlumočník: Žádný takový soubor nebo adresář … - Hlasuji ', protože ' sa duplikát, jak ukazuje @phuciv.
- Ohledně vaší nedávné úpravy této staré otázky: Druhá otázka označená jako duplikát obsahuje odpovědi, které nepoužívají
dos2unix.
Odpověď
Zdá se, že máte konce řádků ve stylu Windows (CRLF, ^ M ^ J ) místo zakončení řádků ve stylu unixu (LF, ^ J). Zkuste dos2unix
dos2unix delete_7gg.sh
a poté spusťte jako obvykle
Od člověka:
dos2unix – převodník formátu textového souboru DOS / MAC na UNIX
tr -d '\r' < input > output.