印刷が成功するまで、プリンタの印刷コマンドを送信し続けたいと思います。印刷が成功したら、ファイルを削除する必要があります。
以下は私のスクリプトです。
until ssh [email protected] 'lp -d Brother_HL_L2350DW_series $FILE'
do
echo "Deleting $FILE"
rm $FILE;
done
問題は、rm $FILE;
印刷コマンドがlp -d Brother_HL_L2350DW_series $FILE
失敗してもファイルを削除することです。
以下は、失敗した印刷コマンドの例です。
ssh root@remotehost 'lp -d Brother_HL_L2350DW_series /home/system/test8.pdf'
lp: Transport endpoint is not connected
[system@live send4print]$ echo $?
1
私の要件を満たす方法を提案できますか?
答え1
繰り返しがどのように機能するのかわかりません。
あなたのスクリプトは次のように言います:
Until successful:
print stuff, and delete files
until ssh [email protected] 'lp -d Brother_HL_L2350DW_series $FILE'
do
echo "trying again"
done
echo "Deleting $FILE"
rm $FILE;
他に問題があるようです。
- FILEは大文字です(潜在的なエラー:大文字は予約されているため使用しないでください)。
- 引用の問題は
$FILE
もはや拡張されません。 sleep
それを評価し、そこに1つを置くことをお勧めします。