Bash Script não faz nada

1

Estou tentando criar um script de shell que possa ser executado de qualquer lugar no terminal

o script simplesmente ecoa uma mensagem

#!/bin/bash
echo "Excellent work Snake!"

Alterei as permissões de scripts com

chmod 775 test.sh

o script está em meus documentos, fiz um link simbólico para / usr / bin com

ln -s ./test.sh /usr/bin

quando executo o script de casa, por exemplo, em vez de ecoar a mensagem, nada acontece, por exemplo,

babbleshack@babbleshack ~ $ test
babbleshack@babbleshack ~ $ 

estou deixando de entender alguma coisa?

    
por Babbleshack 17.08.2013 / 23:00

1 resposta

4

test é uma bash builtin - chamado sem argumentos, como no seu exemplo, ele não faz nada 1 .

Seu script de shell não é chamado de test mas test.sh , portanto, para executá-lo, você precisa digitar:

$ test.sh

No entanto, esse não é o único problema. Seu comando ln -s ./test.sh /usr/bin não está fazendo exatamente o que você pensa - ./test.sh é um caminho relativo e links para caminhos relativos são relativos à localização do link, não em relação a onde você estava quando você digitou o comando.

Você realmente quer algo como:

$ ln -s /home/babbleshack/test.sh /usr/bin

... em que ponto as coisas deveriam funcionar.

1 Tecnicamente, sem sucesso não faz nada (em outras palavras, retorna um código de erro diferente de zero). Se isso não significa nada para você, não se preocupe - não é importante para os propósitos desta resposta.

    
por 17.08.2013 / 23:15

Tags