linux变量修改的问题,为什么我指定删除的local/bin,但是连local/sbin也删掉了
2个回答
展开全部
首先,“删除”说的不准确,这个命令并没有改变环境变量PATH本身的值,而只是从PATH值中取出一部分(匹配你设定条件的那一部分)显示出来,只是个显示的命令;
然后就是匹配条件,PATH的值整体是一个字符串,匹配值从头开始匹配一次,并不像你理解的那样会对path里面的每一个部分匹配。从头开始匹配,匹配后会显示匹配位置到PATH末尾,也就是说PATH头到匹配位置的这一部分都不会显示了。
所以,你的最后一条命令,根据条件找到了匹配的位置就在/usr/local/bin: ,所以显示的时候,匹配位置前面的部分/usr/local/sbin/:/usr/local/bin:都不会显示,只显示匹配位置后面的部分。
按照正确的解释,你前面命令其实并没有实现你预想的那种功能,只是凑巧输出结果和你预想的一样罢了。
然后就是匹配条件,PATH的值整体是一个字符串,匹配值从头开始匹配一次,并不像你理解的那样会对path里面的每一个部分匹配。从头开始匹配,匹配后会显示匹配位置到PATH末尾,也就是说PATH头到匹配位置的这一部分都不会显示了。
所以,你的最后一条命令,根据条件找到了匹配的位置就在/usr/local/bin: ,所以显示的时候,匹配位置前面的部分/usr/local/sbin/:/usr/local/bin:都不会显示,只显示匹配位置后面的部分。
按照正确的解释,你前面命令其实并没有实现你预想的那种功能,只是凑巧输出结果和你预想的一样罢了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询