Deze vraag heeft hier al antwoorden :
Opmerkingen
- Gerelateerd: shebang-regel werkt niet met cr-lf
- … aangezien je , u kunt tussen regeluitgangen wisselen met
:set ff=unix
en:set ff=dos
- er zijn een veel vragen over die CR als je googelt naar
^M
Wat is^M
en hoe kom ik er vanaf? , Unix-script voegt ^ M toe aan het einde van elke regel , -bash: ./my_script: / bin / bash ^ M : slechte interpreter: geen bestand of directory … - Ik ' heb dit naar beneden gestemd omdat het ' is een duplicaat zoals @phuciv laat zien.
- Met betrekking tot uw recente bewerking van deze oude vraag: de tweede vraag die als duplicaat is gemarkeerd, bevat antwoorden die geen
dos2unix
.
Answer
Het lijkt erop dat u regeleinden in Windows-stijl hebt (CRLF, ^ M ^ J ) in plaats van regeluitgangen in Unix-stijl (LF, ^ J). Probeer dos2unix
dos2unix delete_7gg.sh
en voer dan zoals gewoonlijk uit
Van man:
dos2unix – DOS / MAC naar UNIX tekstbestandsformaat converter
tr -d '\r' < input > output
.