所以我试图在使用LFTP传输文件时捕获特定错误,但问题是,由于调用<<EOF
以允许与交互式shell接口,我无法捕获它们。
我使用的代码如下:
#Start backup procedure
lftp<<EOF
open ftps://$HOST || bye && #SEND MAIL CANNOT CONNECT TO SERVER (ERROR)
login $USER $PASSWORD || #SEND MAIL AUTH FAILURE (ERROR)
#Remove existing backups on FTP server
glob -a rm -r ./* || bye && #SEND MAIL FAILED (WARNING) TO REMOVE PREVIOUS BACKUPS
#Upload new backup to FTP server
lcd /var/opt/gitlab/backups
mput *.tar || bye && #SEND EMAIL (ERROR) FAILED TO UPLOAD FILES
bye
EOF
显然,当调用再见时,交互式会话被关闭,但在&amp;&amp;。之后没有任何内容被执行。
任何人都知道如何捕捉这样的特定错误?
答案 0 :(得分:0)
您可以使用括号命令分组:
open... || (shell send-mail; exit 1)