如果登录到sftp服务器后它不存在,我想创建一个目录.
test.sh
sftp name@example.com << EOF mkdir test put test.xml bye EOF
现在我调用test.sh并每次上传不同的文件来测试文件夹.在运行时
mkdir test
第一次它工作,第二次它抛出无法创建目录:失败错误?
如果目录不存在且如果存在则不创建目录在sftp中如何创建目录.
我理解这个帖子已经过时了,已被标记为已回答,但答案在我的情况下无效.谷歌搜索关于“sftp检查目录”的第二页,所以这里有一个更新,可以节省我几个小时.
原文链接:https://www.f2er.com/bash/384554.html使用EOT,您无法捕获由于找不到目录而导致的错误代码.我找到的工作是创建一个包含调用指令的文件,然后捕获该自动调用的结果.
以下示例使用sshpass但我的脚本也使用与sshkeys进行身份验证的相同方法.
创建包含说明的文件:
echo "cd $RemoteDir" > check4directory cat check4directory; echo "bye" >> check4directory
设置权限:
chmod +x check4directory
然后使用批处理功能建立连接:
export SSHPAA=$remote_pass sshpass -e sftp -v -oBatchMode=no -b check4directory $remote_user@$remote_addy
if [ $? -ge "1" ] ; then echo -e "The remote directory was not found or the connection Failed." fi