Was soll ich tun, wenn die Linux-Datei nicht gefunden werden kann?
Wenn Sie eine vorhandene Shell-Skriptdatei unter dem Linux-System ausführen, bei der Ausführung jedoch die Meldung angezeigt wird, dass die Datei nicht vorhanden ist.
Der allgemeine Grund ist derzeit, dass das System, in dem Sie das Shell-Skript schreiben, nicht mit dem System übereinstimmt, in dem Sie das Skript ausführen. Wenn Sie beispielsweise ein Skript in einem Fenstersystem schreiben, wird dies auftreten Problem, wenn Sie es auf ein Linux-System kopieren. Der Grund dafür ist, dass das Format der unter Windows bearbeiteten .sh-Datei das DOS-Format ist, während Linux nur Skripte im Unix-Format ausführen kann.
Da das einmalige Drücken der Eingabetaste unter DOS/Windows tatsächlich „Wagenrücklauf (CR)“ und „Zeilenvorschub (LF)“ eingibt, während das einmalige Drücken der Eingabetaste unter Linux/Unix nur „Zeilenvorschub ( LF)“, sodass die geänderte SH-Datei in jeder Zeile ein zusätzliches CR enthält. Bei der Ausführung unter Linux wird daher ein Fehler gemeldet, dass der Befehl nicht gefunden werden kann.
Wenn Sie außerdem das Windows-System verwenden, um die Quelldatei auf Github herunterzuladen, die eine Shell-Skriptdatei enthält, kann dieses Problem auch auftreten, wenn Sie sie dekomprimieren und zur Ausführung auf das Linux-System kopieren.
Empfohlen: „Linux-Tutorial“
Lösung:
Wir können mit dem vi-Tool bearbeiten um das Format der Datei anzuzeigen. Die Schritte sind wie folgt:
1. Öffnen Sie zuerst die Datei mit dem vi-Befehl
[root@localhost test]# vi test.sh
2 vi-Befehlsmodus ff-Befehl
kann sehen, dass das Dateiformat
fileformat=dos
3 ist. Ändern Sie das Dateiformat in Unix
Verwenden Sie vi/. vim, um das Dateiformat zu ändern.
Befehl: :set ff=unix
oder: :set fileformat=unix
Dann:wq speichern und beenden, erneut ausführen Skript und es wird normal sein
Das obige ist der detaillierte Inhalt vonWas tun, wenn die Linux-Datei nicht gefunden werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!