我有一台 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 身份运行)
创建指向
/usr/bin
# ln -s /var/load_info /usr/bin/load_info
将其添加到全局
PATH
环境变量中:# echo "export PATH=$PATH:/var" >> /etc/profile
答案4
在 OS X (基于 Unix 构建) 中,你可以这样做:
pico .profile
添加此行:-alias scriptname="~/Path-to-script/./scriptname" -退出 pico 并保存。
- 。 。轮廓
如图所示: http://rmcaps.tumblr.com/post/11635645690/help-whats-my-ip-updated