我有一台 Linux 机器,我有一个名为load_info
的脚本,该脚本位于 /var
我希望能够load_info
从另一个目录运行脚本,而不必在命令前加上“./”
例如,如果我在 /root 中,我希望能够输入load_info
(不带 ./)并让它执行/var/load_info
脚本。
那么我如何制作它以便如果我cd /root
可以输入load_info
并让它运行 /var/load_info 脚本。
jos*_*chi 24
$PATH
如果键入的命令不是完全限定的(例如,vi
而不是/usr/bin/vi
),您的 shell 将在环境变量中列出的路径中搜索它。您可以$PATH
通过在您的~/.profile
or 中附加一行来轻松地为您的变量添加另一条路径~/.bashrc
:
export PATH="$PATH:/path/to/your/scripts"
Run Code Online (Sandbox Code Playgroud)
作为一种最佳实践,您还应该将脚本保存在/usr/local/bin
或下/usr/local/sbin
,请参阅hier(7)。
您需要在名为PATH的环境变量中获得脚本的位置。
环境变量就像你在 shell 中使用的普通变量,除了它们在你登录的会话中是持久的。此外,如果您将它们设置为在登录时加载到您的环境中,它们将始终处于设置状态并始终可用。
在PATH变量有助于壳找到你输入命令。它的值是每次输入命令时 shell 搜索的目录列表。目录名称以冒号分隔。
如果您使用的是bash shell(Linux 中最常用的 shell),那么您可以通过在命令提示符下键入来查看PATH变量中的目录echo $PATH
。
假设load_info
脚本位于名为/var
. 您可以通过键入以下内容将此附加目录添加到PATH变量:
PATH=$PATH:"/var"
Run Code Online (Sandbox Code Playgroud)
要使其成为对PATH变量的永久更改,您可以根据所需的效果将其添加到三个不同的文件中。
如果您将它添加到/etc/profile
文件中,您将使所有登录到您系统的用户都可以使用该目录。
您可以将PATH修改添加到您自己.bash_profile
的主目录中的文件中,这仅在您登录时适用。
您还可以将 PATH 修改添加到.bashrc
主目录中的文件文件,这与将其添加到 具有类似的效果.bash_profile
,不同之处在于.bashrc
每次启动新 shell 时都会加载该文件。
还值得一提的/var
是,无论如何,这可能不是脚本的最佳位置。/usr/local/bin
会更好。查看heir(7)手册页,man 7 heir
了解有关哪些文件应该放在何处的更多信息。
归档时间: |
|
查看次数: |
9972 次 |
最近记录: |