Bash 通过cron作业执行脚本时出现问题

Bash 通过cron作业执行脚本时出现问题,bash,shell,Bash,Shell,直接在shell上执行以下脚本可以正常工作,但通过cronjob执行时出错 bash-3.00$ cat scr.sh #!/usr/local/bin/bash DATE=$(date +%g%m%e) INPUT_FILES=$DATE"_*.txt" ALL_FILES=$DATE"*.txt" echo INPUT=$INPUT_FILES echo FILES=$ALL_FILES for i in $(ls $INPUT_FILES); do echo $i; done 当直接执

直接在shell上执行以下脚本可以正常工作,但通过cronjob执行时出错

bash-3.00$ cat scr.sh 
#!/usr/local/bin/bash
DATE=$(date +%g%m%e)
INPUT_FILES=$DATE"_*.txt"
ALL_FILES=$DATE"*.txt"
echo INPUT=$INPUT_FILES
echo FILES=$ALL_FILES
for i in $(ls $INPUT_FILES); do echo $i; done
当直接执行时,效果很好

通过crontab安装并执行时,我收到以下错误消息:

INPUT=120828_*.txt
FILES=120828*.txt
ls: 120828_*.txt: No such file or directory
由于某些原因,For循环中的ls无法解释嵌入的“*”

任何关于可能出错的想法


感谢您的帮助。

从cron运行时,当前工作目录(
CWD
)不同。在脚本中,您可能希望首先将
cd
放入目录。

从cron运行时,当前工作目录(
CWD
)不同。在脚本中,您可能希望首先将
cd
放入目录。

@user1631261,好消息。所以你可能想接受这个答案。@user1631261,好消息。所以你可能想接受这个答案。