linux + 运行一些没有“./”+别名的脚本

linux + 运行一些没有“./”+别名的脚本

我有一台 Linux 机器,并且有一个名为的脚本load_info,该脚本位于 /var

我希望能够load_info从另一个目录运行脚本,而不必在命令前加上“./”

例如,如果我在 /root,我希望能够输入load_info(不带 ./)并执行/var/load_info脚本。

那么我该如何做才能让cd /root我能够输入load_info 并运行 /var/load_info 脚本。

答案1

$PATH如果输入的命令不是完全限定的(例如,vi而不是) ,shell 将在环境变量中列出的路径中搜索输入的命令/usr/bin/vi。您可以通过在或$PATH中添加一行来轻松地将另一条路径添加到变量中:~/.profile~/.bashrc

export PATH="$PATH:/path/to/your/scripts"

作为最佳实践,您还应该将脚本保存在/usr/local/bin或下/usr/local/sbin,请参阅此处(7)

答案2

您需要将脚本的位置放在名为小路

环境变量就像您在 shell 中使用的普通变量一样,但它们在您登录的会话期间是持久的。此外,如果您将它们设置为每次登录时都加载到您的环境中,它们将始终被设置并可用。

小路变量可帮助 shell 查找您输入的命令。其值是每次输入命令时 shell 都会搜索的目录列表。目录名称以冒号分隔。

如果您使用狂欢shell(Linux 中最常用的 shell),然后你就可以看到小路echo $PATH通过在命令提示符下输入来变量。

假设load_info脚本位于名为的目录中/var。您可以将此附加目录添加到小路通过输入变量:

PATH=$PATH:"/var"

为了使这一变化成为小路变量,您可以根据想要的效果将其添加到三个不同的文件中。

  • 如果将其添加到/etc/profile文件中,则将使所有登录系统的用户都可以使用该目录。

  • 您可以将PATH修改添加到您.bash_profile的主目录中您自己的文件中,并且这仅在您登录时才适用于您。

  • 您还可以将 PATH 修改添加到.bashrc主目录中的文件文件中,这与将其添加到 具有类似的效果,不同之处在于每次启动新 shell 时都会加载.bash_profile该文件。.bashrc

还值得一提的是,这/var可能不是脚本的最佳位置。/usr/local/bin会更好。查看继承人(7)手册页提供了man 7 heir有关哪些文件应该放到哪里的更多信息。

答案3

有一些方法可以做到这一点:(以 root 身份运行)

  1. 创建指向/usr/bin

    # ln -s /var/load_info /usr/bin/load_info
    
  2. 将其添加到全局PATH环境变量中:

    # echo "export PATH=$PATH:/var" >> /etc/profile
    

答案4

在 OS X (基于 Unix 构建) 中,你可以这样做:

  1. pico .profile

  2. 添加此行:-alias scriptname="~/Path-to-script/./scriptname" -退出 pico 并保存。

  3. 。 。轮廓

如图所示: http://rmcaps.tumblr.com/post/11635645690/help-whats-my-ip-updated

相关内容