shell脚本通过sftp命令删除文件夹里面所有文件
时间: 2024-10-17 10:15:04 浏览: 36
shell脚本判断文件夹或目录是否存在,不存在则创建新文件夹或目录.sh
5星 · 资源好评率100%
在Shell脚本中,你可以使用`sftp`命令配合通配符(`*`)来删除远程文件夹里的所有文件。以下是一个基本的示例,假设你已经配置了SSH key并且登录到了正确的服务器:
```bash
#!/bin/bash
# 定义SFTP连接信息,如用户名、主机名、远程目录路径
USER="username"
HOST="hostname"
REMOTE_DIR="/path/to/your/directory"
# 使用sftp命令删除远程文件夹内的所有文件
sftp -o "BatchMode=yes" $USER@$HOST << EOF
rm $REMOTE_DIR/*
EOF
# 确认命令是否执行成功,并添加错误处理
if [ $? -eq 0 ]; then
echo "所有文件已成功删除"
else
echo "删除文件失败,错误码:$?"
fi
```
在这个脚本中,`BatchMode=yes`选项用于禁用交互模式,使得`sftp`命令可以非交互式地执行。然后使用`=》 EOF`将接下来的命令传递给`sftp`,`rm $REMOTE_DIR/*`会删除指定目录下的所有文件。
阅读全文