我想使用 ftp 通过 bash 脚本从服务器删除文件

I want to delete file from server by bash script using ftp

我想通过 bash 脚本使用 ftp

删除文件

我使用下面的代码

 $file = xyz/ab/file.txt
 curl -v -u  $user:$pass ftp://server.com/$file -Q "DELE $file"

但是它给出了这些错误

*Entry path is '/'
DELE xyz/ab/file.txt
* ftp_perform ends with SECONDARY: 0
< 550 Could not delete xyz/ab/file.txt: No such file or directory
* QUOT command failed with 550

如何使用单行bash脚本命令删除文件

如何使用 curl 从 ftp 服务器删除文件:

user="foo"
pass="bar"
dir="xyz/ab/"         # with trailing slash
file="file.txt"

curl -v -u "$user:$pass" "ftp://server.com/$dir" -Q "-DELE $file"

curl -v -u "$user:$pass" 'ftp://server.com' -Q "-DELE /$dir$file"

或不带前导/

curl -v -u "$user:$pass" 'ftp://server.com' -Q "-DELE $dir$file"

如果要添加其他命令,可以使用 ftp 命令。

user=foo
user=bar
ftp -n 127.0.0.1 <<EOF
quote USER $user
quote PASS $pass
delete xyz/ab/file.txt
exit
EOF

但是,ftp 服务器上必须可以删除。如果我没记错的话,对于 vsftpd 你必须在 /etc/vsftpd.conf

中设置 anon_other_write_enable=YES