我有一些非常简单的 Bash 脚本,是我为经常做的事情拼凑起来的。
其中之一就是运行表里不一执行我的备份任务。没什么巧妙的,实际上只是一堆if .. then
语句。
因为这需要以 root 身份运行,所以将我的脚本放入/usr/bin
(或 PATH 上的其他位置)chown
root:root 和chmod
700 是否是最佳做法?
答案1
如果除您之外没有其他用户使用这些脚本
然后您可以将它们保存在 中/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
看如何将 /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
。此目录有flags
、bin
和 的分支logs
。
对于我在默认存储库之外下载和安装的应用程序,它们apt-get
被放置在/opt/
一个以应用程序名称命名的目录中,并有一个用于特定版本应用程序的子目录。这样,我的应用程序的编译版本(如vlc
或)eclipse
就不会与分发版本冲突。
我的使用方式/opt
基本上是官方设计的。
顺便说一下,目录/usr/local/bin
、/usr/local/apollo
和/opt
在新操作系统版本安装覆盖后仍然存在。