我有 2 台服务器,分别是 ubuntu 服务器 A 和服务器 B
我在服务器 B 的 shell 上运行来自服务器 A 的 shell 命令,但似乎我需要进行一些转义才能使确切的命令到达服务器 B。服务器 B 上的命令没有 & 以及其后的任何内容。有没有什么办法可以确保确切的命令到达服务器 B:
我在服务器A上执行此操作
ssh root@serverB 'processthis -a example.com/?a=1,2,3&m=a,b,c'
需要到达服务器B的实际命令是:
processthis -a example.com/?a=1,2,3&m=a,b,c
但到达那里的命令是
processthis -a example.com/?a=1,2,3
谢谢
答案1
尝试在 processthis 的参数两边加上双引号。
ssh root@serverB'processthis-a“example.com/?a=1,2,3&m=a,b,c”'
答案2
您应该使用 \ 来转义 &,因为 bash 会处理它。尝试以下操作:
sh root@serverB'processthis-a example.com/?a=1,2,3\&m=a,b,c'