lp
リモートホストから失敗したコマンドの出力は、次のようにローカルスクリプトにインポートできます。
until ssh -q root@remotehost 'lp -d Brother_HL_L2350DW_series /root/moht/Printed/`basename "$FILE"`' 2>&1 | tee /home/printererror.log
do
echo "Issue is: `cat /home/printererror.log`"
sleep 230
done
問題は、until
コマンドが失敗しても繰り返されないことですlp
。
until
コードを変更して以下のように削除する2>&1 | tee /home/printererror.log
と、正常に機能し、失敗したlp
コマンドが繰り返され始めます。ただし、ご覧のとおり、削除後はエラーメッセージは表示されません。tee
until ssh -q root@remotehost 'lp -d Brother_HL_L2350DW_series /root/moht/Printed/`basename "$FILE"`'
関連する失敗メッセージをローカルに記録しながら、until
失敗したコマンドを繰り返したいと思います。lp
echo
答え1
検討until
中の終了状態tee
。
コードを見れば、なぜ必要なのかは明確ではないので、tee
削除することをお勧めします。
until ssh -q root@remotehost 'lp …' >/home/printererror.log 2>&1
do
: …
done