Ich bin ein Anfänger und ich brauche Hilfe.
Ich versuche, ein Skript zu erstellen, um einige Dateien aus einem Verzeichnis in ein anderes Verzeichnis zu verschieben. Bevor ich das Skript erstellt habe, habe ich den Befehl getestet und er hat funktioniert:
mv /path/to/source /path/to/destination
Nachdem ich das Skript erstellt habe mit nano
:
#!bin/bash/
echo "mv /path/to/source /path/to/destination"
Ich habe das Skript ausführbar gemacht mit: chmod +x file
und dann ausgeführt als, ./file
aber der folgende Fehler wird angezeigt:
bash: ./move.sh: /bin/bash/: bad interpreter: Not a directory
Ich habe versucht und mit sudo ./file
und Bash-Datei, aber es funktioniert nicht.
Ich verwende Ubuntu, das mit VirtualBox installiert ist.
Antworten:
Das liegt daran, dass Sie verwendet haben
#!bin/bash/
und das ist falsch. Der richtige Weg ist:Dies wird als Shebang bezeichnet und teilt der Shell mit, mit welchem Programm das Skript bei der Ausführung interpretiert werden soll.
Eine andere Sache: Der absolute Pfad für Bash-Interpreter in Ubuntu ist
/bin/bash
, nichtbin/bash/
oder etwas anderes. Sie können dies mit demwhich bash
Befehl überprüfen .Und noch etwas, aber wahrscheinlich wissen Sie das: die folgende Zeile:
zeigt nur eine Textnachricht mit an
mv /path/to/source /path/to/destination
. Verwenden Sie das folgende Skript, um Dateien wirklich zu verschieben:So sollte Ihr Skript aussehen.
quelle
which
Befehls verpackt . Es lohnt sich die manuelle Installation, um das Gnu zu bekommen, das .