Centos

如何在 CentOS 6.5 上重置 $PATH

  • July 30, 2015

我重新啟動了伺服器,從那以後我不再能夠在 SSH 下執行任何命令。

任何命令都只會返回如下內容:-bash: ls: command not found

我意識到我的 $PATH 必須以某種方式更改,/bin/ls似乎工作正常。

一個echo $PATH回報:

/usr/local/sbin:/usr/sbin:/sbin:$PATH:/opt/jdk1.8.0_45/bin:/opt/jdk1.8.0_45/jre/bin:/root/bin

我會假設 Java 是這裡的罪魁禍首,但是我該如何重置我的 $PATH 變數呢?

您可以執行以下命令將 /bin 或您需要的任何目錄添加到 PATH。

export PATH="$PATH:/bin"

然後,您可以將該行添加到 .profile 或 .bashrc(如果您使用 bash),以確保每次登錄時該目錄都包含在您的路徑中。

當查看您PATHPATH. 原因是您PATH包含 string $PATH,它應該擴展為實際路徑,但實際上是作為 string 包含的$PATH

Java 路徑跟隨$PATH在您的路徑中的事實確實使其成為主要嫌疑人。它可能會執行以下操作:

PATH='$PATH:/opt/jdk1.8.0_45/bin:/opt/jdk1.8.0_45/jre/bin'

代替:

PATH="$PATH:/opt/jdk1.8.0_45/bin:/opt/jdk1.8.0_45/jre/bin"

注意引用的不同。

引用自:https://unix.stackexchange.com/questions/219322