Was tun, wenn Linux das sh-Skript nicht ausführen kann?

WBOY
Freigeben: 2022-07-20 14:53:12
Original
5123 Leute haben es durchsucht

Es gibt drei Lösungen: 1. Verwenden Sie den Befehl „dos2unix filename“, um die angegebene Datei direkt in das Unix-Format zu konvertieren. 2. Verwenden Sie den Befehl „sed“, um das Endzeichen direkt durch das Unix-Format zu ersetzen. Die Syntax lautet „sed -“. i „s/ r//“ Dateiname“ oder „sed -i „s/^M//“ Dateiname“; 3. Nachdem Sie vi zum Öffnen der Datei verwendet haben, verwenden Sie „set ff=unix“, um die Datei auf Unix zu setzen. und verwenden Sie „:wq“, um es zu speichern.

Was tun, wenn Linux das sh-Skript nicht ausführen kann?

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

Was soll ich tun, wenn Linux das SH-Skript nicht ausführen kann?

Ein solcher Fehler wird beim Ausführen des Shell-Skripts angezeigt. Der Hauptgrund dafür ist, dass die Shell-Skriptdatei im DOS-Format vorliegt, d. h. das Ende jeder Zeile ist gekennzeichnet durch rn, während das Ende der Zeile der Unix-Formatdatei mit n endet.

Mehrere Möglichkeiten, um zu überprüfen, ob eine Skriptdatei im DOS- oder Unix-Format vorliegt.

(1) cat -A Dateiname Aus den angezeigten Ergebnissen kann geschlossen werden, dass die Dateizeile, die im DOS-Format endet, ^M ist, die Dateizeile, die im Unix-Format endet, ist, die Dateizeile, die im Unix-Format endet, und die Dateizeile, die im Unix-Format endet.

(2) od -t x1 Dateiname Wenn Sie im Ausgabeinhalt die Zeichen 0d 0a sehen, liegt die Datei im DOS-Format vor. Wenn nur 0a vorhanden ist, liegt sie im Unix-Format vor.

(3) Öffnen Sie die Datei mit dem Dateinamen vi und führen Sie Folgendes aus: set ff. Wenn die Datei im DOS-Format vorliegt, wird sie als Dateiformat = DOS angezeigt. Wenn sie unxi ist, wird sie als Dateiformat = Unix angezeigt.

Lösung:

(1) Verwenden Sie den Linux-Befehl dos2unix filename, um die Datei direkt in das Unix-Format zu konvertieren

dos2unix filename
Nach dem Login kopieren

(2) Verwenden Sie den sed-Befehl sed -i "s/r//" filename oder sed -i „s/^M//“ Dateiname ersetzt direkt das Endzeichen durch Unix-Format

sed -i “s/\r//” filename 
sed -i “s/^M//” filename
Nach dem Login kopieren

(3) vi Dateiname öffnet die Datei, führen Sie aus: set ff=unix Setzen Sie die Datei auf Unix, führen Sie dann aus: wq, speichern Sie sie unter Unix format

set ff=unix
Nach dem Login kopieren

Empfohlenes Lernen: Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas tun, wenn Linux das sh-Skript nicht ausführen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!