远程命令上的 Scape 引号

Scape quotes on remote command

我正在尝试在远程服务器上传递命令。

命令在本地服务器上工作正常,但是当尝试在远程服务器上传递时,由于 scpaing 错误,ssh 出现错误

ls -t /root/mysql/*.sql | awk 'NR>2 {system(\"rm \"" [=10=] \"\"")}'

完整命令

ssh root@host -p XXX "mysqldump --opt --all-databases > /root/mysql/$(date +%Y%m%d%H%M%S).sql;ls -t /root/mysql/*.sql | awk 'NR>2 {system(\"rm \"" [=11=] \"\"")}'"

实际上不需要使用 awk 并避免所有引号转义:

ls -t /root/mysql/*.sql | tail -n +1 | xargs rm

这是 假设您的 *.sql 文件没有任何空格 否则您应该使用 stat 命令并使用 [=14= 对输出进行排序].