BashスクリプトでPythonコマンドの不完全な出力

BashスクリプトでPythonコマンドの不完全な出力

これは私の最初の投稿です。

bashコマンドを実行してpython出力をメールで送信する簡単なスクリプトを作成しています。ただし、スクリプトを実行するたびに出力cronの半分が失われます。pythonしかし、シェルで同じスクリプトを手動で実行すると、すべてが期待どおりに機能します。

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行以下で出力されます。私も試してみましたが、echoこの場合は引数pythonなしで実行されます。-rs

どんな助けでも大変感謝します。

答え1

Pythonプログラムを実行し、出力をキャプチャしてから(引用されていない)出力をエコーするのはなぜですか?ただ

/usr/local/bin/python3 /home/tech2/myscript_v3_4-3.py -rs > /home/tech2/weeklyreportoutput.txt

アプローチの主な問題の1つは、改行文字が空白に置き換えられることです。

関連情報