我有一個名為的 bash 腳本 腳本.sh。當它在我的時候效果很好/家目錄。/垃圾桶目錄,用於將其作為命令運行。起初它運作得很好(作為一個命令,在我的/垃圾桶),但是重啟後就停止工作了。當我在終端中輸入Script.sh
, 時,沒有任何反應,我必須使用Ctrl+C
才能讓終端再次工作。當我的腳本.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
答案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>