GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Das Bash-Skript gibt „Command Not Found“ in leeren Zeilen aus

Sie können bash -x scriptname.sh verwenden zu verfolgen.


Stellen Sie sicher, dass Ihre erste Zeile lautet:

#!/bin/bash

Geben Sie Ihren Bash-Pfad ein, wenn er nicht /bin/bash ist

Versuchen Sie Folgendes auszuführen:

dos2unix script.sh

Dadurch werden Zeilenenden usw. vom Windows- in das Unix-Format konvertiert. d.h. es entfernt \r (CR) von Zeilenenden, um sie von \r\n (CR+LF) zu ändern bis \n (LF) .

Weitere Details zum dos2unix Befehl (Manpage)

Eine andere Möglichkeit, um festzustellen, ob Ihre Datei im DOS/Win-Format vorliegt:

cat scriptname.sh | sed 's/\r/<CR>/'

Die Ausgabe sieht in etwa so aus:

#!/bin/sh<CR>
<CR>
echo Hello World<CR>
<CR>

Dadurch wird der gesamte Dateitext mit <CR> ausgegeben angezeigt für jeden \r Zeichen in der Datei.


Linux
  1. Befehl nicht in Bash gefunden behoben

  2. Rm-Befehl im Bash-Skript funktioniert nicht mit Variablen?

  3. bash:netstat:Befehl nicht gefunden.

  4. id:Befehl nicht gefunden

  5. w:Befehl nicht gefunden

Fehlerbehebung „Bash:Command Not Found“-Fehler in Linux

ln:Befehl nicht gefunden

nohup:Befehl nicht gefunden

bash sh - Befehl nicht gefunden

bash - make-Befehl nicht gefunden

realpath-Befehl nicht gefunden