播放记录

分析解决脚本执行时总是报出command not found

博客迎刃而解分析解决脚本执行时总是报出commandnotfound 2019年08月29日 11:38:14

今天做一个简单的日志清理脚本,然后却总是会报出command not found的错误,一时也是懵住了,困了一大会儿才找到原因,可能这就是经验不够丰富的原因吧。

这是什么原因,一般报错这个错误的,在Linux系统当中,都是说没有这个命令,但是我用的ls,难道真的是被删根,连ls都没有了吗。
先来看看脚本都写了什么吧。

#!/bin/sh
PATH=/usr/local/tomcat/logs
for A in `ls .`
do
    cd $PATH
    find $A/  -mtime +1 -name "*.log*" -exec rm -rf {} \;
done

看上去挺正常的一个脚本,重复执行仍旧如此。

现在,有两个思路可以来进行一下排查:

  • 1, 可能系统当中真的没有脚本当中出现的命令,或者脚本当中的命令书写不规范,需要仔细检查。
  • 2, 那就是我今天犯的错误了,在定义变量的时候,使用了PATH这个变量名,这在Linux中就犯了大忌,因为这个临时定义的名称,会被当做环境变量而将系统中的环境变量给覆盖,在环境变量下的命令们就像一群一直从那个独木桥回家的小羊,突然一天独木桥被砍断,他们就会觉得找不到回家的路了一样。

此时,将PATH更改成Path或者其他,再回去执行刚才的脚本,发现就不会报这个错了。


转载:http://www.eryajf.net/2266.html

© 2018 www.qingketang.net 鄂ICP备18027844号-1

武汉快勤科技有限公司 13554402156 武汉市东湖新技术开发区关山二路特一号国际企业中心6幢4层7号

微信登录

扫码关注,全站教程免费播放

发表评论 X

登录成功
开通VIP

订单金额:

支付金额:

支付方式: