Mover um script bash para o diretório / bin

2

Eu tenho um script chamado Script.sh . Funcionou bem quando estava no meu diretório / home . Mudei para o meu diretório / bin , para executá-lo como comando. No começo funcionou bem (como um comando, no meu / bin ), mas depois de reiniciar, ele parou de funcionar. Quando eu digito Script.sh , no terminal, nada acontece e eu tenho que usar Ctrl + C  para fazer o terminal funcionar novamente. Quando meu Script.sh está no meu / bin , meu comando spd-say também não funciona (ele não pronuncia o argumento quando eu o uso no terminal). Depois de mover o script de / bin , tudo é corrigido. Existe algum problema, movendo um arquivo para / bin ?

$ echo $PATH
:/home/m/bin:/home/m/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Esta é a primeira parte do script.

#!/bin/bash
spd-say -w "Do you know this man?"
xdg-open $(locate "X.jpg")
read a
if [ "$a" == "yes" ]
then
spd-say -w "Call the police."
else
spd-say -w "Thanks."
fi
    
por Codito ergo sum 05.06.2018 / 17:29

1 resposta

1

Eu não tenho reputação suficiente para fazer um comentário, mas parece que você precisa colocar seu script em / usr / local / bin.

De man hier(7)

/bin
    This  directory contains executable programs which are needed in 
    single user mode and to bring the system up or repair it.

/usr/local/bin
    Binaries for programs local to the site.

Você sabe, copie com sudo cp e verifique as permissões.

Mas se você quiser usar o programa só para você, coloque na pasta /home/$USER/bin .

Além disso, você pode fazer um link simbólico do seu script para um caminho em / usr / local / bin

ln -s /full/path/to/your-script.sh /usr/local/bin/<empty or optional name>
por mrc_es 25.07.2018 / 15:25