将 bash 脚本移动到 /bin 目录

将 bash 脚本移动到 /bin 目录

我有一个名为的 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>

相关内容