远程命令上的 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= 对输出进行排序].
我正在尝试在远程服务器上传递命令。
命令在本地服务器上工作正常,但是当尝试在远程服务器上传递时,由于 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= 对输出进行排序].