我能够将失败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