Script Bash para mover arquivos

8

Sou iniciante e preciso de ajuda.

Estou tentando fazer um script para mover alguns arquivos de um diretório em outro diretório. Antes de criar o script eu testei o comando e ele estava funcionando:

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

Depois de criar o script com nano :

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

Eu fiz o script executável com: chmod +x file e, em seguida, executado como ./file , mas aparece o seguinte erro:

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

Eu tentei e com sudo ./file e arquivo bash, mas não está funcionando.

Estou usando o Ubuntu instalado com o VirtualBox.

    
por Vincioti Ana-Maria 22.10.2013 / 16:19

1 resposta

17

Isso porque você usou #!bin/bash/ e isso está errado. O caminho certo é:

#!/bin/bash

Isso é chamado de shebang e diz ao shell qual programa interpretar o script, quando executado.

Outra coisa: o caminho absoluto para o intérprete bash no Ubuntu é /bin/bash , não bin/bash/ ou outra coisa. Você pode verificar isso usando o comando which bash .

E outra coisa, mas provavelmente você sabe disso: a seguinte linha:

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

exibirá somente uma mensagem de texto com mv /path/to/source /path/to/destination . Para realmente mover arquivos, use o seguinte script:

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

É assim que o seu script deve ser.

    
por Radu Rădeanu 22.10.2013 / 16:25

Tags