Movendo um script bash para o diretório /bin

Movendo um script bash para o diretório /bin

Eu tenho um script bash chamado Script.sh. Funcionou bem quando estava no meu/lardiretório. Mudei-o para o meu/bindiretório, para executá-lo como comando. No começo funcionou bem(como um comando, no meu/bin), mas depois de reiniciar, parou de funcionar. Quando digito Script.sh, no terminal, nada acontece e tenho que usar Ctrl+ C para fazer o terminal funcionar novamente. Quando meuScript.shestá no meu/bin, meu spd-saycomando 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. Há algum problema ao mover 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 roteiro.

#!/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

Responder1

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

Deman 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 sudo cpe verifique as permissões.

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

Além disso, você pode criar 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>

informação relacionada