这是我在这里发表的第一篇文章。
我正在创建一个简单的bash
脚本,它应该运行python
命令并邮寄输出。但是,每次通过 运行脚本时cron
,都会丢失一半的python
输出。然而,如果我在 shell 上手动运行相同的脚本,一切都会按预期工作。
bash 脚本是:
#!/usr/local/bin/python3
echo $(/usr/local/bin/python3 /home/tech2/myscript_v3_4-3.py -rs) > /home/tech2/weeklyreportoutput.txt
sleep 180
echo "Data Generated on $(date +%T_%d_%m_%y)" | mail -s "Data for Weekly SYNC $(date +%A_%F_%T)" -a /home/tech2/weeklyreportoutput.txt [email protected]
注意:python
脚本运行最多 10 秒,输出不超过 100 行。我也尝试过 without echo
,但在这种情况下python
不带-rs
参数运行。
任何帮助将非常感激。
答案1
为什么要运行 python 程序,捕获输出,然后回显(不带引号的)输出?做就是了
/usr/local/bin/python3 /home/tech2/myscript_v3_4-3.py -rs > /home/tech2/weeklyreportoutput.txt
您的方法的主要问题之一是换行符将被空格替换。