小编Val*_*spa的帖子

即使报告错误“无法创建目录:失败”,sftp 也会返回代码 0

我正在尝试编写一个负责在远程服务器上创建文件夹的 Bash 脚本。

片段:

!/bin/bash -e
echo "Creating remote folder."
echo mkdir test_folder | sftp -oPort=22 192.168.0.11:/tmp
if [[ $? != 0 ]]; then
  echo "Transfer failed!"
  exit 1
else
  echo "Transfer complete."
fi
echo $?
Run Code Online (Sandbox Code Playgroud)

输出是:

Connected to 192.168.0.11.
Changing to: /tmp
sftp> mkdir test_folder
Couldn't create directory: Failure
Transfer complete.
0
Run Code Online (Sandbox Code Playgroud)

所以返回码是 0 但显然有错误。

如何捕获远程错误并在脚本中设置适当的返回码?

bash sftp

3
推荐指数
1
解决办法
5825
查看次数

标签 统计

bash ×1

sftp ×1