Ich habe ein Skript geschrieben abc.sh
und es an einem Ort namens gespeichert generallstuff
. Ich navigiere zu diesem Ordner mit:
cd ~ /generallstuff
wenn ich versuche, das Skript mit folgendem auszuführen:
chmod 755 abc.sh
ich bekomme den Fehler"no such file or directory"
Aber das Skript ist an dieser Stelle, warum ist das so? Bisher hatte ich keine Probleme beim Ausführen von Skripten
Antwort1
cd ~ /generallstuff
sollte sein cd ~/generallstuff
, andernfalls wechseln Sie stattdessen in Ihr Home-Verzeichnis.
Antwort2
Wo wannwo genau wird die Fehlermeldung angezeigt?
Ein paar Dinge, die Sie überprüfen sollten:
(1) Der chmod
Befehl bewirkt, dass das Skriptnurausführbar, esnichtFühren Sie es aus. chmod +x abc.sh
Dadurch wird Ihr Skript ausführbar.
Beiseite: Ich bevorzuge die „menschenlesbare“ Version des
chmod
Befehls gegenüber der mit der Oktalnotation. Also zum Beispiel:
chmod u+x file
bedeutet, die Datei für den Benutzer in eine ausführbare Datei zu ändern (oder einfach nur+x
, deru
Ser ist standardmäßig impliziert).Sie können anstelle von
g
roup, thers oder Kombinationen angeben . Anstelle von können Sie , usw. verwenden , auch hier wieder in Kombinationen, falls gewünscht.o
u
x
w
r
+
Zum Hinzufügen oder-
Entfernen von Attributen verwenden .Sehen Sie sich diechmod man-Seitefür mehr Informationen.
(2) Liegt der entsprechende Shell-Beschwörungsformel am Anfang Ihrer Shell-Datei? Beispiel:
#!/bin/bash
(oder welche Shell Sie auch immer möchten)
(3) Wie führst Du das Programm aus? So sollte es funktionieren:
./abc.sh
(4)Notiz: Ihr cd
Befehl hat eineRaum (' '
) zwischen ~
und /generallstuff
.. hoffentlich ist das nur ein Tippfehler im Beitrag, sonst wird der Befehlscheiternund Sie werden die Verzeichnisse nicht ändern!