我正在尝试安装某些东西,其中有以下步骤:
“将其放在你的$PATH
”
这是什么意思?那是什么?
我已经在本网站和 Google 上搜索过,但每个人都认为这是理所当然的!
答案1
在终端中运行:
echo $PATH
或者
printf "%s\n" "$PATH"
您看到的是一个目录列表,如下所示:
/home/jacob/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
如果将可执行文件放在其中一个目录中,则无需设置可执行文件/脚本的路径,但可以通过其名称作为命令来运行它。
可执行文件$PATH
不应该有语言扩展按照惯例(尽管它们可以工作)
编辑 $PATH 变量
$PATH
您可以通过在文件中添加以下行来(永久)添加目录~/.profile
(默认情况下不可见,在文件管理器中按Ctrl+H使其可见):
export PATH=$PATH:/path/to/dir
有关环境变量的更多有用信息
(例如$PATH
)可以找到这里(感谢@Letizia 的建议)
答案2
答案3
我假设您有使用 Windows 的经验(如果不是,请见谅)。通俗地说,路径(或搜索路径)是您在命令行中输入的任何内容都会被搜索的目录列表。如果您输入内置命令(如 ls),它将查找指定的目录列表。您可以通过输入 echo $PATH 来查找路径。Windows 和 *nix 之间的一个区别是:默认情况下,Windows 始终在当前目录中查找可执行文件。例如,如果您在 c:\myscripts 中有一个名为 uptime.bat 的文件,并且您 cd c:\myscripts 并输入 uptime,它将运行。但是,在 *nix 中,将查询路径并找到可执行文件(如果可用)。
如果您将脚本保存在名为 /home/teresa/scripts 的目录中,则要执行这些脚本,您必须指定该目录的完整路径。例如:/hone/teresa/checkHost。一种变体是 cd /home/teresa,然后输入 ./checkHost(请注意 ./,这意味着您明确要求文件从当前目录运行。
为了避免这种情况,您只需输入
导出 PATH=$PATH:/home/teresa/scripts
这意味着,除了现在已存在的路径之外,还要在 /hone/teresa/scripts 中搜索。但是,这样做的问题是,一旦您注销,此设置就会消失。因此,您应该编辑隐藏文件 ~/.bashrc,在那里找到 PATH 行,并相应地附加它。我假设您使用 bash。对于其他 shell,语法和文件会有所不同。
作为新用户,在搜索路径中添加 . 非常诱人,这基本上意味着也在当前目录中搜索。但是,由于其他地方讨论的原因,这并不被认为是一种好的做法。
高血压