在创建目录之前,我只想通过sftp(而不是ssh)检查目录是否存在。 到目前为止,我发现的唯一解决方案是使用ssh,但由于权限问题,我仅需要使用sftp-有人知道吗?
sftp_put () {
sftp -oidentityfile=/home/user/.ssh/host_usersftp usersftp@$1 <<EOF
-- Add a check here e.g -- IF exist $2 ( echo $2 exists ) ELSE ( echo create $2 )
mkdir $2
cd $2
put $3
EOF
}
答案 0 :(得分:1)
sftp
的 -b
只会显示一条非致命的警告消息。 (对于-b
,您需要在-mkdir
前面加一个破折号,以使脚本在命令失败时不会中止。对于非交互使用,-b
可能是个好主意。)
答案 1 :(得分:1)
echo "chdir my_test_dir" | sftp -b - -oidentityfile=/home/user/.ssh/host_usersftp usersftp@$1
if [ $? -eq 0 ]
then
echo "my_test_dir exists"
else
echo "create my_test_dir"
fi