hatterman Asked: 2018-01-22 14:30:41 +0800 CST2018-01-22 14:30:41 +0800 CST 2018-01-22 14:30:41 +0800 CST 我应该把我的 Bash 脚本放在哪里? 772 我有一些非常简单的 Bash 脚本,我将它们拼凑在一起用于我经常做的事情。 其中之一是运行duplicity来完成我的备份任务。没什么聪明的,真的只是一堆if .. then陈述。 由于这需要以 root 身份运行,将我的脚本放入/usr/bin(或 PATH 上的其他位置)、chownroot:root 和chmod700 是否是最佳实践? bash 3 个回答 Voted user68186 2018-01-22T15:06:11+08:002018-01-22T15:06:11+08:00 如果除您之外没有其他用户使用这些脚本 然后,您可以将它们保留在/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 脚本的标准位置? L. D. James 2016-09-27T15:39:45+08:002016-09-27T15:39:45+08:00 我有一个目录,用于快速收集本地工具或部署在/usr/local/apollo. flags此目录中有,bin和的分支logs。 对于我在默认apt-get存储库之外下载和安装的应用程序,将其放置在/opt/一个以应用程序名称命名的目录中,另外还有一个用于特定版本的应用程序的子目录。这样,我的应用程序编译版本与分布式版本类似vlc或eclipse不会冲突。 我使用的/opt是它基本上是官方设计的方式。 顺便说一下,目录/usr/local/bin,/usr/local/apollo和/opt新的操作系统版本安装覆盖后仍然存在。 Best Answer SynPrime 2018-01-22T14:53:41+08:002018-01-22T14:53:41+08:00 我将自己的脚本保存在/opt/scripts. 如果每个系统用户都可以执行您的脚本,您可以创建一个指向/usr/bin. 如果只有 root 应该执行脚本,您可以创建一个指向/usr/sbin. 添加符号链接的命令/usr/bin/: ln -s /opt/scripts/<script> /usr/bin/ 您可以执行该脚本,因为默认情况下/usr/bin/它在您的PATH中。
如果除您之外没有其他用户使用这些脚本
然后,您可以将它们保留在
/home/$USER/bin
.bin
如果目录不存在,则创建目录并将文件移到那里。您家中的bin
目录将自动添加到 PATH 环境变量中。代码在.profile
:请参阅如何将 /home/username/bin 添加到 $PATH?
或者在某些系统中,它可能位于
.bashrc
:谢谢老极客。
如果这些脚本将被其他用户使用:
然后要么 要么
/usr/local/bin
是/opt/bin
不错的选择。请参阅是否有放置自定义 Linux 脚本的标准位置?我有一个目录,用于快速收集本地工具或部署在
/usr/local/apollo
.flags
此目录中有,bin
和的分支logs
。对于我在默认
apt-get
存储库之外下载和安装的应用程序,将其放置在/opt/
一个以应用程序名称命名的目录中,另外还有一个用于特定版本的应用程序的子目录。这样,我的应用程序编译版本与分布式版本类似vlc
或eclipse
不会冲突。我使用的
/opt
是它基本上是官方设计的方式。顺便说一下,目录
/usr/local/bin
,/usr/local/apollo
和/opt
新的操作系统版本安装覆盖后仍然存在。我将自己的脚本保存在
/opt/scripts
.如果每个系统用户都可以执行您的脚本,您可以创建一个指向
/usr/bin
.如果只有 root 应该执行脚本,您可以创建一个指向
/usr/sbin
.添加符号链接的命令
/usr/bin/
:您可以执行该脚本,因为默认情况下
/usr/bin/
它在您的PATH中。