Ssh

繼續嘗試列印命令 LP 直到成功

  • February 7, 2021

我希望繼續發送列印機列印命令,直到列印成功。如果列印成功,則應刪除該文件。

下面是我的腳本。

until ssh root@45.76.162.227 '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

你能建議我如何滿足我的要求嗎?

您不了解迭代的工作原理。

你的腳本說:

Until successful:
 print stuff, and delete files
until ssh root@45.76.162.227 'lp -d Brother_HL_L2350DW_series $FILE'
do
 echo "trying again"
done

echo "Deleting $FILE"
rm $FILE; 

似乎還有一些其他問題:

  • FILE 大寫(潛在錯誤:保留大寫字母,不應使用)。
  • 報價問題$FILE不會展開。
  • 給油門打分是個好主意,放一個sleep

引用自:https://unix.stackexchange.com/questions/633160