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