问题描述
#!/bin/bash
cd /ad/bd/cd/dd/ed/zd
count=$(find . -type f|cut -d "/" -f3|wc -l)
echo $count >> /ad/bd/cd/abc.log
#exit
手动提供正确的值。即230
-
-
-
-
- ad / bd / script
-
-
-
在cron上方运行时,其值为零,即0
解决方法
尝试在find
中指定要在其中查找文件的目录的绝对路径
count=$(find "/ad/bd/cd/dd/ed/zd" -type f | cut -d "/" -f3 | wc -l)
通常,cron
在主目录中运行命令。如果要从特定目录运行脚本,请通过命令启动该Shell片段以更改目录,如下所示:
0 10 * * * cd /some/dir && /path/to/script args
请注意,在&&
上使用;
并没有什么区别,但是如果cd
命令失败(例如,由于目标目录没有存在),&&
不会执行您的脚本,而;
则会执行(但在非预期目录中)。