我有一个用于监控系统本地流量的 shell 脚本。现在我想安装它,并像其他 unix 命令一样运行它
答案1
安装本地脚本的通常位置是/usr/local/bin
或/usr/local/sbin
。man hier
有关目录结构的详细信息,请参阅。
如果相应的/usr/bin
或/usr/sbin
目录在路径中,则通常会包含这些目录。man eviron
有关包括 PATH 在内的标准环境变量的信息,请参阅。
许多发行版的目录层次结构都记录在其手册页中。可以使用以下命令显示它man heir
/usr/local/bin
适用于所有用户都应能够运行的程序。它相当于/bin
和/usr/bin
。通常,大多数用户的路径中不会有这些。
/usr/local/sbin
是用于系统管理的程序。它相当于/sbin
和/usr/sbin
。
答案2
我解决这个问题的方法是(使用我相当基本的 Linux 技能)给 shell 脚本创建一个别名。
首先确保shell脚本是可执行的。
chmod u+x,g+x script.sh
然后,.bashrc
按如下方式编辑文件:
cd
vi .bashrc
将其添加到底部。(我认为您也可以将其添加到特定的别名文件中,例如.bash_aliases
,但我没有。)
alias commandtorun='/home/user/script.sh'
这里,commandtorun
将是您输入的运行脚本的命令,并且'/home/user/script.sh'
是脚本的路径。
要将更改保存到.bashrc
vi 编辑器中,:wq
请执行 ,将其写入文件并退出。
编辑:您还需要重新获取 .bashrc 以使用当前会话中的更改。(或者只需重新启动会话/关闭并重新打开终端)。
source ~/.bashrc
祝你好运!
答案3
在 Ubuntu 上,可以在主文件夹中创建一个 bin 文件夹并将用户脚本放入其中。实际上,您的~/.profile
脚本将包含以下内容:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
创建 bin 文件夹后必须当您输入 时,注销并再次登录 以/home/$USER/bin
出现在您的路径中echo $PATH
。一旦它出现在您的路径中,您将能够通过名称调用其中的脚本并执行它们,就像您可以执行任何其他程序一样。
bin 文件夹不需要任何特殊权限,如果您只是希望您的用户能够执行脚本,请chmod u+x
在使它们可执行时输入。
echo $PATH
添加 bin 文件夹后的新输出应为:
/home/mike/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
您可以将脚本放在中/usr/local/bin
,但您需要使用 sudo 将它们复制到文件夹中,然后在您想要在那里编辑它们时再次使用 sudo,因此我发现在主文件夹中有一个 bin 文件夹非常方便且合理,特别是在单用户系统上。
但是,需要注意的是,如果您的系统上有多个用户,并且您希望所有用户都可以使用该脚本,那么您肯定需要将其放入/usr/local/bin
。