我应该把我的 Bash 脚本放在哪里?

我应该把我的 Bash 脚本放在哪里?

我有一些非常简单的 Bash 脚本,是我为经常做的事情拼凑起来的。

其中之一就是运行表里不一执行我的备份任务。没什么巧妙的,实际上只是一堆if .. then语句。

因为这需要以 root 身份运行,所以将我的脚本放入/usr/bin(或 PATH 上的其他位置)chownroot:root 和chmod700 是否是最佳做法?

答案1

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

然后您可以将它们保存在 中/home/$USER/binbin如果目录不存在,请创建该目录并将文件移动到那里。主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

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

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

export PATH=${HOME}/bin/:${HOME}/.local/bin:${PATH}

谢谢老年怪人

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

那么/usr/local/bin/opt/bin都是不错的选择。参见是否有一个标准的位置来放置自定义 Linux 脚本?

答案2

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

如果您的脚本应该可由每个系统用户执行,您可以创建指向的符号链接/usr/bin

如果只有 root 可以执行该脚本,则可以创建指向的符号链接/usr/sbin

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

ln -s /opt/scripts/<script> /usr/bin/

您可以执行脚本,因为/usr/bin/它在您的小路默认情况下。

答案3

我有一个目录,用于快速收集我在 中部署在各个计算机上的本地工具或内容/usr/local/apollo。此目录有flagsbin和 的分支logs

对于我在默认存储库之外下载和安装的应用程序,它们apt-get被放置在/opt/一个以应用程序名称命名的目录中,并有一个用于特定版本应用程序的子目录。这样,我的应用程序的编译版本(如vlc或)eclipse就不会与分发版本冲突。

我的使用方式/opt基本上是官方设计的。

顺便说一下,目录/usr/local/bin/usr/local/apollo/opt在新操作系统版本安装覆盖后仍然存在。

相关内容