脚本无法在 crontab 上自行运行,但手动运行脚本可以正常运行
我遇到了一个脚本问题,我想让它自动执行,但它无法读取文件(FILE_TEMP)。
该文件具有所有权限,即使我做过其他类似的活动,但在这种情况下不起作用cron
和
crontab -e
- /bin/bash /home/ops/OperatividadSemanal.sh
脚本是:
塞曼纳勒斯操作手册
#!/bin/bash
curl -X POST -H 'Content-type: application/json' --data "{\"text\":\" Inicio \"}" https://hooks.slack.com
FILE="/home/ops/LastCheckOperatividadSemanal.csv"
wcl=$(cat $FILE| wc -l); hl=$(head $FILE)
FILE_TEMP="/home/ops/tempLastCheckOperatividadSemanal.csv"
cat Prueba.csv > $FILE_TEMP;
headTEMP=$(head $FILE_TEMP)
wclTEMP=$(cat $FILE_TEMP | wc -l)
curl -X POST -H 'Content-type: application/json' --data "{\"text\":\" FILE(wc -l=$wcl )\n head=$hl \n TEMP(wc -l= $wclTEMP ) \n $headTEMP \n \"}" https://hooks.slack.com
if [ $wclTEMP -ne 0 ]; then #man test -> INTEGER1 -ne INTEGER2 - INTEGER1 is not equal to INTEGER2
curl -X POST -H 'Content-type: application/json' --data "{\"text\":\" \n if(wc -l from TEMP= $wclTEMP ) \"}" https://hooks.slack.com
fi
它通过 slack(meessageApp)向我发送脚本开始的通知,并正常工作以显示 FILE 数据,但 FILE_TEMP 显示字数(wc -l)为零,即使我检查过它,也有 400 行。
#man wc - (print newline, word, and byte counts for each file) -l, --lines
这里的问题是FILE_TEMP的讲座不起作用,然后它没有进入条件if。
但如果我手动执行它,它就可以正常工作。
我通过 SLACK 收到的消息显示来自 FILE 的数据,但没有显示来自 FILE_TEMP 的信息。