什么是Linux中的这个$ PATH以及如何对其进行修改(What is this $PATH in

2019-09-03 06:56发布

我对Linux中的这个$ PATH几个问题。

我知道它告诉哪些目录查找可执行文件,所以外壳:

  1. 这是什么意思一个环境变量?
  2. 如何改变其路径? 并推荐给改了吗?
  3. 如果我改变它会带来什么后果?

Answer 1:

为了让您的路径当前$PATH变量类型:

echo $PATH 

它告诉你的shell在哪里寻找二进制文件。

是的,你可以改变它-例如添加到$PATH文件夹与您的自定义脚本。

所以:如果您的脚本是/usr/local/myscripts执行它们,你将不得不输入一个完整路径的脚本: /usr/local/myscripts/myscript.sh更改后$PATH变量,你可以只需键入myscript.sh执行脚本。

下面是一个例子$PATH从RHEL:

在/ usr / Kerberos的/ bin中:在/ usr / local / bin目录:/ bin中:在/ usr / bin中:/ home / user中/箱

要改变你的$PATH ,你必须要么编辑~/.profile (或~/.bash_profile )为用户或全局$PATH中设置/etc/profile

一个具有不准确的后果$PATH变量是外壳将无法找到并没有完全执行程序$PATH



Answer 2:

首先,你在你的什么$ PATH不正确的说法。 如果你以某种方式打破它(按你的第三点),您必须手动输入在/ usr / bin中/ XYZ,如果你想运行在从终端的/ usr / bin中的程序。 根据各个程序是如何工作的,这可能会打破一些程序,调用其他的人,因为他们将希望只能够运行ls什么的。

所以,如果你是玩弄$ PATH,我会建议先地方保存。 使用命令行指令

echo $PATH > someRandomFile.txt

将其保存在someRandomFile.txt

您可以使用export命令改变$ PATH。 所以

export PATH=someNewPath

但是,这将完全取代someNewPath $ PATH。 “:”由于路项目是由分开的,你可以通过执行项目添加到它(最好不要删除,见上文)

export PATH=$PATH:newPath

这是一个环境变量,这意味着程序可以找到它的价值,即它的东西是设置有关程序运行的环境。其他环境变量包括像当前目录和当前代理的地址。



Answer 3:

这很简单,我喜欢这种方式。

打开linux的bash shell,然后打印环境变量:

printenv

我“复制PATH ”变量到文本编辑器和编辑,因为我想要的。 然后更新PATH这样

export PATH= /variable dir list/

有用。

或者,如果你想添加一个单变量使用此命令。

export PATH = $PATH:/variable_dir_path/

这将扩展使用新的目录路径的路径。



文章来源: What is this $PATH in Linux and how to modify it
标签: linux path