Bash-Skript zum Verschieben von Dateien

8

Ich bin ein Anfänger und ich brauche Hilfe.

Ich versuche ein Skript zu erstellen, um einige Dateien aus einem Verzeichnis in einem anderen Verzeichnis zu verschieben. Bevor ich das Skript erstellt habe, habe ich den Befehl getestet und es funktionierte:

mv /path/to/source  /path/to/destination

Nachdem ich das Skript mit nano gemacht habe:

#!bin/bash/
echo "mv /path/to/source  /path/to/destination"

Ich habe das Skript ausführbar gemacht mit: chmod +x file und dann als ./file ausgeführt, aber der folgende Fehler erscheint:

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 benutze Ubuntu mit VirtualBox installiert.

    
Vincioti Ana-Maria 22.10.2013, 16:19

1 Antwort

17

Das liegt daran, dass du #!bin/bash/ benutzt hast und das ist falsch. Der richtige Weg ist:

#!/bin/bash

Dies wird als shebang bezeichnet und teilt der Shell mit, zu welchem ​​Programm sie das Skript interpretieren soll hingerichtet.

Noch etwas: Der absolute Pfad für den Bash-Interpreter in Ubuntu ist /bin/bash , nicht bin/bash/ oder etwas anderes. Sie können dies mithilfe des Befehls which bash überprüfen.

Und noch etwas, aber wahrscheinlich weißt du das: die folgende Zeile:

echo "mv /path/to/source /path/to/destination"

zeigt nur eine Textnachricht mit mv /path/to/source /path/to/destination an. Um Dateien wirklich zu verschieben, verwenden Sie das folgende Skript:

#!/bin/bash
mv /path/to/source /path/to/destination

So sollte Ihr Skript aussehen.

    
Radu Rădeanu 22.10.2013 16:25

Tags und Links