如何将shell脚本添加到我的linux系统
我有用于监控系统本地区域流量的shell脚本。 现在我想安装它,并希望像其他unix命令一样运行
我解决这个问题的方法(使用我相当基本的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'
是脚本的路径。
要在vi编辑器中保存对.bashrc
更改,请执行以下操作:wq
,它将写入文件并退出。
编辑:您还需要重新获取.bashrc来使用当前会话中的更改。 (或者只是重启会话/关闭并重新打开终端)。
source ~/.bashrc
祝好运!
安装本地脚本的通常位置是/usr/local/bin
或/usr/local/sbin
。 有关目录结构的详细信息,请参阅man hier
。
如果相应的/usr/bin
或/usr/sbin
目录位于路径中,则通常包含这些目录。 有关标准环境变量(包括PATH)的信息,请参阅man eviron
。
许多发行版的目录层次结构是inheritance人手册页中的文档。 它可以使用命令man heir
显示
/usr/local/bin
适用于所有用户都应该能够运行的程序。 它等同于/bin
和/usr/bin
。 通常,大多数用户不会在他们的路径上拥有这些。
/usr/local/sbin
用于用于系统管理的程序。 它等同于/sbin
和/usr/sbin
。
在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
时出现在echo $PATH
。 一旦它在你的路径中,你将能够通过名称调用那里的脚本并像执行任何其他程序一样执行它们。
bin文件夹不需要任何特殊权限,如果您只是希望您的用户能够执行脚本,请在使其可执行时输入chmod u+x
。
添加bin文件夹时, echo $PATH
新输出应为:
/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,所以我发现在home文件夹中有一个bin文件夹非常方便和明智,特别是在单个用户系统上。
但是,重要的是要注意,如果您的系统上有多个用户,并且您希望脚本可以全部使用,那么您肯定需要将它放在/usr/local/bin
。