我尝试做的是使用shell脚本通过sftp发送文件。我尝试连接到第一个IP,如果此连接失败,我会尝试另一个IP
问题是,我似乎无法抓住sftp状态。
这是我尝试过的:
#!/bin/bash
sftp -oIdentityFile=path_to_private_key USER@IP1:PATH <<EOF
if [[ $? -eq 0 ]]; then
put myfile
ls
quit
else
echo "ERROR"
fi
EOF
你知道怎么做这样的工作:
sftp IP1
if(success){
put file
quit
}
else{
sftp IP2
if(success2){
put file
quit
}
else{
echo "Error"
}
}
由于
答案 0 :(得分:0)
找到了一种方法来做我想做的事。问题是因为我怀疑“EOF / if”
这是我发现的:
#!/bin/bash
sftp -oIdentityFile=path_to_private_key USER@$IP1:PATH <<-EOF1
put myfile
quit
EOF1
if [[ $? -ne 0 ]]; then
sftp -oIdentityFile=path_to_private_key USER@$IP2:PATH <<-EOF2
put myfile
quit
-EOF2
if [[ $? -ne 0 ]]; then
echo "ERROR"
fi
fi
希望它可以帮助任何有这个问题的人