Перемещение bash-скрипта в каталог /bin

Перемещение bash-скрипта в каталог /bin

У меня есть скрипт bash с именем Скрипт.sh. Он хорошо работал, когда был в моем/домкаталог. Я переместил его в свой/binкаталог, для запуска его как команды. Сначала это работало хорошо (как команда, в моем/bin), но после перезапуска он перестал работать. Когда я набираю Script.sh, в терминале, ничего не происходит, и мне приходится использовать Ctrl+ C , чтобы терминал снова заработал. Когда мойСкрипт.shв моем/bin, моя spd-sayкоманда тоже не работает (она не произносит аргумент, когда я использую ее в терминале). После перемещения скрипта из/bin, все исправляется. Есть ли проблема, перемещение файла в/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

Это первая часть сценария.

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

решение1

У меня недостаточно репутации, чтобы сделать комментарий, но мне кажется, что вам нужно поместить свой скрипт в /usr/local/bin.

От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.

Знаешь, скопируй sudo cpи проверь разрешения.

Но если вы хотите использовать программу только для себя, поместите ее в /home/$USER/binпапку.

Также вы можете создать символическую ссылку из вашего скрипта на путь в /usr/local/bin

ln -s /full/path/to/your-script.sh /usr/local/bin/<empty or optional name>

Связанный контент