Como executar o script no diretório diferente?

38

Eu tentei isso

./home/user/scripts/someScript

mas não funciona

No such file or directory

alguma ideia?

    
por UAdapter 02.11.2011 / 15:08

3 respostas

46

O ponto inicial no seu comando significa "relativo ao diretório atual". Remova-o e ele se referirá a "o arquivo someScript no diretório /home/user/scripts :

/home/user/scripts/someScript

Se você receber "Permissão negada", é porque você não tem permissões suficientes para acessar o arquivo no diretório de outros usuários ou porque o arquivo não é executável. Para torná-lo executável, execute:

chmod +x /home/user/scripts/someScript
    
por Lekensteyn 02.11.2011 / 15:14
23

Se o seu script precisar acessar recursos na mesma pasta em que está sendo executado e você tiver especificado como caminhos relativos, o script será interrompido.

Eu sempre adiciono um cd $(dirname $0) à cabeça do meu script para que a pasta que contém o script seja a pasta raiz.

    
por naisanza 29.10.2013 / 21:40
4

Remova o .

Se você tornar o script executável com chmod 755 <nameofscript> para executá-lo, basta digitar o caminho para o script.

Quando você vê ./script sendo usado, dizendo ao shell que o script está localizado no mesmo diretório em que você está executando. Para usar o caminho completo, você digita sh /home/user/scripts/someScript .

    
por Bruno Pereira 02.11.2011 / 15:14

Tags