PATH变量及修改

 

  • 我们来找茬(写定时执行时的插曲)

A、vim aaa.sh:

TEMP_PATH="home/users/wanggaijing01/abc"
echo "the current path is $TEMP_PATH"
cd $TEMP_PATH
touch test.txt

问题:sh aaa.text后,报aaa.sh: line 6: cd: home/users/wanggaijing01/abc: No such file or directory...

原因:因为缺少根目录/,应该为TEMP_PATH="/home/users/wanggaijing01/abc"

/:表示根目录,也可作目录分隔符;/etc表示根目录下的etc目录

~:表示用户home目录,以用户lalala登录后,~表示/home/lalala

 

 

B、vim aaa.sh:

PATH="/home/users/wanggaijing01/abc"
echo "the current path is $PATH"
cd $PATH
touch test.txt

问题:sh aaa.sh后,报aaa.sh: line 7: touch: command not found。。。

原因:因为PATH是系统变量,自己重定义了PATH,所以找不到touch。。。

PATH:命令行用echo $PATH可以查看当前系统路径。执行命令时会到PATH路径下去寻找。如which touch,可看到/opt/compiler/gcc-4.8.2/bin/touch

./: 有的命令如rinetd,需要./rinetd,加./表示在当前目录下寻找该命令,不加会默认去PATH下寻找,由于找不到,所以会报command not found。

 

  • PATH路径修改---(尚未完全弄懂)

查看当前PATH:echo $PATH

跟PATH有关的文件:/etc/profile(系统环境设置,登录shell),  ~/.bash_profile(用户环境设置,登录shell), ~/.bashrc(用户环境,非登录shell)

                           这几个文件按一定顺序执行。profile修改后,需要source来生效。

修改/etc/profile(放弃):试了下不是很好用,root下source后,exit root然后再次登入,并不生效。 

临时修改PATH:命令行执行export PATH=/bin:$PATH,只在当前窗口有效,退出后失效。

修改work用户的PATH变量(可行):1、vim ~/.bash_profile   2、export PATH=/bin:$PATH   3、source ~/.bash_profile.

                            (场景是有个服务需要低版本的grep,而当前的grep版本较高,/bin/grep版本较低,所以把/bin放在前边)

修改后:

 

转载于:https://www.cnblogs.com/lalalaya/p/9939010.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值