• 对于注定会优秀的人来说,他所需要的,只是时间----博主
  • 手懒得,必受贫穷,手勤的,必得富足----《圣经》
  • 帮助别人,成就自己。愿君在本站能真正有所收获!
  • 如果你在本站中发现任何问题,欢迎留言指正!
  • 宝剑锋从磨砺出,梅花香自苦寒来!
  • 本站开启了防爆破关小黑屋机制,如果您是正常登录但被关进小黑屋,请联系站长解除!

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

迎刃而解 eryajf 5个月前 (12-13) 1172℃ 已收录 0个评论
本文预计阅读时间 2 分钟

今天做一个简单的日志清理脚本,然后却总是会报出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或者其他,再回去执行刚才的脚本,发现就不会报这个错了。


weinxin
扫码订阅,第一时间获得更新
微信扫码二维码,订阅我们网站的动态,另外不定时发送WordPress小技巧,你可以随时退订,欢迎订阅哦~

二丫讲梵 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明分析解决脚本执行时总是报出command not found
喜欢 (0)
[如果想支持本站,可支付宝赞助]
分享 (0)
eryajf
关于作者:
学无止境,我愿意无止境学。书山有路,我愿意举身投火,淬炼成金!

您必须 登录 才能发表评论!