Script di Bash per spostare i file

8

Sono un principiante e ho bisogno di aiuto.

Sto provando a creare uno script per spostare alcuni file da una directory in un'altra directory. Prima di creare lo script ho testato il comando e funzionava:

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

Dopo aver realizzato lo script con nano :

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

Ho reso eseguibile lo script con: chmod +x file e quindi eseguito come ./file ma viene visualizzato il seguente errore:

bash: ./move.sh: /bin/bash/: bad interpreter: Not a directory

Ho provato e con sudo ./file e bash file ma non funziona.

Sto usando Ubuntu installato con VirtualBox.

    
posta Vincioti Ana-Maria 22.10.2013 - 16:19

1 risposta

17

Questo perché hai usato #!bin/bash/ e questo è sbagliato. Il modo giusto è:

#!/bin/bash

Questo è chiamato shebang e dice alla shell quale programma interpretare lo script con, quando eseguito.

Un'altra cosa: il percorso assoluto per l'interprete bash in Ubuntu è /bin/bash , non bin/bash/ o qualcos'altro. Puoi controllarlo usando il comando which bash .

E un'altra cosa, ma probabilmente lo sai: la seguente riga:

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

mostrerà solo un messaggio di testo con mv /path/to/source /path/to/destination . Per spostare veramente i file usa il seguente script:

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

Ecco come dovrebbe essere il tuo script.

    
risposta data Radu Rădeanu 22.10.2013 - 16:25

Leggi altre domande sui tag