在 shell 脚本中使用 sftp 协议从 SFTP 服务器删除文件

Delete file from SFTP server using sftp protocol in shell script

我是 shell 脚本的新手。我正在尝试使用 SFTP 协议从远程服务器删除文件。虽然我可以下载文件,但我无法删除 post 下载。这是我的代码:

sftp -oPort=22 $FTP_USER@$FTP_SVR:$TEST_PATH/TEST_*.dat.gpg $LAND
   if [ $? -ne 0 ]; then
      Error "Cannot Download TEST file from SFTP Server"
   fi

sftp -oPort=22 $FTP_USER@$FTP_SVR:$TEST_PATH/n rm TEST_*.dat.gpg
if [ $? -eq 0 ]; then
  echo "Removing TEST Files from SFTP Server"
fi

您使用的 sftpssh 命令相似,因为它将您登录到远程服务器,因此请尝试开发没有任何“if”逻辑的命令,并且如有必要,稍后添加。这是您已经拥有的没有 then if 逻辑的版本:

sftp -oPort=22 $FTP_USER@$FTP_SVR; get $TESTPATH/TEST_.dat.gpg $LAND; rm TEST_.dat.gpg; bye

请注意,如果您无法获取该文件,您也不应该删除它,这使得两个 sftp 命令之间的“if”逻辑并不是很关键。