我应该把我的 bash 脚本放在哪里

hat*_*man 15 bash sudo scripts

我有一些非常简单的 bash 脚本,我将它们拼凑起来用于我经常做的事情。其中之一是运行双重性来完成我的备份任务。没有什么聪明的只是一堆 if .. then 语句真的。由于这需要作为 sudo 运行,因此最佳做法是将我的脚本放在 /usr/bin (或 PATH 中的其他位置),chown 到 root.root 和 chmod 到 700 ?

use*_*186 20

如果除您之外没有其他用户使用这些脚本:

然后您可以将它们保留在/home/$USER/bin. bin如果文件夹不存在,则创建该文件夹并将文件移动到那里。您家中的 bin 文件夹将自动添加到 PATH 环境变量中。代码在.profile

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi
Run Code Online (Sandbox Code Playgroud)

请参阅如何将 /home/username/bin 添加到 $PATH?

或者在某些系统中它可能位于.bashrc

export PATH=${HOME}/bin/:${HOME}/.local/bin:${PATH}
Run Code Online (Sandbox Code Playgroud)

谢谢大佬

如果其他用户要使用这些脚本:

然后,无论是/usr/local/bin/opt/bin都是不错的选择。请参阅是否有放置自定义 Linux 脚本的标准位置?

希望这可以帮助


小智 4

我将自己的脚本保存在/opt/scripts.

如果您的脚本应该可由每个系统用户执行,您可以创建到/usr/bin.

如果只有 root 应该执行该脚本,您可以创建一个到/usr/sbin.

添加符号链接的命令/usr/bin/

ln -s /opt/scripts/<script> /usr/bin/
Run Code Online (Sandbox Code Playgroud)

您可以执行该脚本,因为默认情况下/usr/bin/它位于您的PATH中。