인쇄가 성공할 때까지 프린터 인쇄 명령을 계속 보내고 싶습니다. 인쇄가 성공하면 파일을 삭제해야 합니다.
아래는 내 스크립트입니다.
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
그것을 평가하고 거기에 하나를 두는 것이 좋습니다 .