我有一个名为的 bash 脚本 脚本。当我/家目录。我将其移至我的/垃圾桶目录,以便将其作为命令运行。起初它运行良好(作为命令,在我的/垃圾桶),但重启后,它停止工作。当我Script.sh
在终端中输入 , 时,什么也没有发生,我必须使用Ctrl+C
才能让终端再次工作。当我的脚本在我的/垃圾桶,我的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>