我有这个脚本:
filePattern='sor.log*'
filePattern2='sor.SOR.log*'
myLocation=/opt/tradertools/omer
clientLocation=/opt/tradertools/omer/sor/from
clientName=vmonitorlmpa
clientUser=root
clientPass=triltest
export SSHPASS=$clientPass
sshpass -e sftp -oStrictHostKeyChecking=no -oBatchMode=no -b - $clientUser@$clientName << !
get $clientLocation/$filePattern2 $myLocation
get $clientLocation/$filePattern $myLocation
bye
!
但如果未找到 filepattern2
,它将退出。如何避免使用两个 SFTP 连接?
最佳答案
引用sftp
man page :
sftp
will abort if any of the following commands fail:get
,put
,reget
,reput
,rename
,ln
,rm
,mkdir
,chdir
,ls
,lchdir
,chmod
,chown
,chgrp
,lpwd
,df
,symlink
, andlmkdir
.Termination on error can be suppressed on a command by command basis by prefixing the command with a
-
character (for example,-rm /tmp/blah*
).
所以使用:
-get $clientLocation/$filePattern2 $myLocation
关于bash - 找不到文件时sftp避免退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31829356/