当我更改$ PATH时,我遇到了sudo命令的问题 问题:
-bash: id: command not found
-bash: tty: command not found
-bash: uname: command not found
[root@ol6 ~]# sudo
-bash: sudo: command not found
并回显$ PATH
[root@ol6 ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH:/opt/jdk1.8.0_66/bin:/opt/jdk1.8.0_66/jre/bin
你能告诉我解决这个问题吗? 谢谢sm。
答案 0 :(得分:1)
sudo
位于 RedHat 上的/usr/bin
,但我认为您真正的问题是,当您更改PATH并获得PATH时,您单引$PATH
文字$PATH
而不是你想要的文字!
答案 1 :(得分:1)
你可能在$PATH
变量中得到了文字字符串PATH
,当你可能想要在它之前和之后添加一些东西时。我想你在分配时使用单引号来做到这一点:
PATH='/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH:/opt/jdk1.8.0_66/bin:/opt/jdk1.8.0_66/jre/bin'
何时应该使用双引号
PATH="/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH:/opt/jdk1.8.0_66/bin:/opt/jdk1.8.0_66/jre/bin"
所以$PATH
会扩展到当前值(尽管在当前的shell中为时已晚)。
无论如何,对我来说,sudo
位于/usr/bin
,所以如果你没有在你的路径中拥有它,你将无法在没有指定完整路径的情况下运行它。