如何向我的 Linux 系统添加 Shell 脚本

如何向我的 Linux 系统添加 Shell 脚本

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

答案1

安装本地脚本的通常位置是/usr/local/bin/usr/local/sbinman 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'是脚本的路径。

要将更改保存到.bashrcvi 编辑器中,: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

相关内容