如何在 CentOS 6.5 上重置 $PATH

如何在 CentOS 6.5 上重置 $PATH

我重新启动了服务器,从那时起我无法再在 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 变量呢?

答案1

您可以执行以下命令将 /bin 或您需要的任何目录添加到 PATH。

export PATH="$PATH:/bin"

然后,您可以将该行添加到 .profile 或 .bashrc(如果您使用 bash),以确保每次登录时该目录都包含在您的路径中。

答案2

当查看您的 时PATH,似乎在您的启动脚本中的某个位置,应用程序尝试将自身添加到PATH但执行不正确。原因是您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"

注意引用的区别。

相关内容