遮盖原先的PATH导致下令失效提醒command not found的解决要领
一个同事找我帮他定位,为何他的LINUX服务器许多的下令都运用不了,提醒(command not found),而且更要命的是许多系统服务,脚本都跑不了。问了下,你以前做了些什么操纵呢? 他说也做什么操纵啊,只不过在/etc/profile文件里面添加了export PATH,又问,你怎么设置的呢? 得到的答案是:
[root@localhost ~]# vim /etc/profile export PATH=/usr/lib/jenkins/ [root@localhost ~]# source /etc/profile
他说只不过增加了jenkins的默许工作目录,然后用source让配置文件生效。其实题目恰恰就出在这里!
PATH是系统环境途径,系统的所有下令,脚本施行都是按照PATH的途径来搜寻的。但是要是export PATH=/usr/lib/jenkins/
,就拿以前系统设置的目录,比方(/bin/; /sbin等寄存系统下令的目录)全部遮盖了,变成了jenkins工作下令,而jenkins目录下确定是找不到ls, pwd, cd等系统下令的,效果造成所有的下令,脚本,服务都跑不了,这就是造成这起血案的主要缘由!
真正系统PATH要怎样设置呢?
要是是短期设置的话:
export PATH=$PATH:/usr/lib/jenkins/
要是是长期设置的话:
[root@localhost ~]# vim /etc/profile export PATH=$PATH:/usr/lib/jenkins/ [root@localhost ~]# source /etc/profile
这样的话,就是在原先的设置中增加新的搜寻途径,而不会遮盖原先的PATH了。
总结
以上就是这篇文章的全部内容了,但愿本文的内容对大家的学习或者工作拥有一定的参考学习价值,感谢大家对脚本之家的支撑。要是你想理解更多相干内容请查看下面相干链接