如何将 shell 脚本添加到我的 linux 系统

ADR*_*ADR 10 command-line

我有用于监视系统本地流量的 shell 脚本。现在我想安装它,并想像其他 unix 命令一样运行

Bil*_*hor 13

安装本地脚本的通常位置是/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


Dav*_*d_G 9

我解决这个问题的方法(用我相当初级的 linux 技能)是为 shell 脚本创建一个别名。

首先确保shell脚本是可执行的。

chmod u+x,g+x script.sh
Run Code Online (Sandbox Code Playgroud)

然后,编辑您的.bashrc文件,如下所示:

cd
vi .bashrc
Run Code Online (Sandbox Code Playgroud)

将此添加到底部。(我认为您也可以将其添加到特定的别名文件中,例如.bash_aliases,但我没有。)

alias commandtorun='/home/user/script.sh'
Run Code Online (Sandbox Code Playgroud)

在这里,commandtorun将是您键入以运行脚本的命令,并且'/home/user/script.sh'是脚本的路径。

要将更改保存到.bashrcvi 编辑器中:wq,它会写入文件并退出。

编辑:您还需要重新获取 .bashrc 以使用当前会话中的更改。(或者只是重新启动会话/关闭并重新打开终端)。

source ~/.bashrc

祝你好运!

  • 我(个人)不会创建别名,而是将文件放在 $HOME/bin 中。如果您创建大量脚本,为每个脚本创建别名将很难维护。此外,如果 chmod 命令是 `chmod +x script.sh` 或 `chmod a+x script.sh`,那么它的效果会好很多 你的“用户”组中不应该有其他用户,所以 o+x 选项有点没意义。如果您希望其他人能够执行该文件,您需要`chown user:group script.sh` 并确保“其他用户”在该组中。或者只是让每个人都用`chmod a+x script.sh`来执行它 (4认同)
  • 另外.... 对于在系统范围内运行的脚本,约定是将它们放在 /usr/local/bin/ 中。其他人可能看不到 $HOME 中的脚本。 (2认同)