我在Linux上有这个$ PATH的几个问题。
我知道它告诉shell要search可执行文件的目录,所以:
为了让你的路径当前$PATH
变量类型在:
echo $PATH
它告诉你的shell在哪里寻找二进制文件。
是的,你可以改变它 – 例如添加到您的自定义脚本$PATH
文件夹。
所以:如果你的脚本在/usr/local/myscripts
中执行它们,你必须输入脚本的完整路径: /usr/local/myscripts/myscript.sh
在改变你的$PATH
变量之后,你可以输入myscript.sh
执行脚本。
这是一个来自RHEL的$PATH
的例子:
在/ usr / Kerberos的/ bin中:在/ usr / local / bin目录:/ bin中:在/ usr / bin中:/ home / user中/箱
要更改$PATH
您必须在/etc/profile
为用户或全局$PATH
设置编辑~/.profile
(或~/.bash_profile
)。
不准确的$PATH
变量的后果之一是,shell将无法找到并执行没有完整的$PATH
。
首先,您在“$ PATH”所做的陈述中是正确的。 如果你打算以某种方式破解它(如你的第三点),如果你想从终端运行/ usr / bin中的程序,你将不得不手动输入/ usr / bin / xyz。 根据个别程序的工作方式,这可能会破坏一些调用其他程序的程序,因为它们只能运行ls或其他程序。
所以如果你打算使用$ PATH,我会建议先把它保存到某个地方。 使用命令行指令
echo $PATH > someRandomFile.txt
将其保存在一些RomomFile.txt中
您可以使用export命令更改$ PATH。 所以
export PATH=someNewPath
然而,这将完全取代$ PATH与someNewPath。 由于路径中的项目由“:”分隔,因此可以通过执行将项目添加到其中(最好不要删除,参见上文)
export PATH=$PATH:newPath
事实上,这是一个环境变量,意味着程序可以找到它的价值,也就是说,它是关于程序运行的环境的设置。其他环境变量包括当前目录和当前代理的地址。