unix 在ssh上传递带有转义双引号的变量

p8h8hvxi  于 2023-01-20  发布在  Unix
关注(0)|答案(1)|浏览(141)

如果我使用一个带有转义双引号"的变量,它们会被ssh删除。
下面是一个例子:

$ foo=\"word\"
$ echo $foo
"word"
$ ssh pi@$pi03 "echo $foo"
word

有没有人知道为什么会这样/解决方案可能是什么?我可以将代码发布到我需要引用的实际用途中,但我认为这是一种更简单的解释方式。

ezykj2lf

ezykj2lf1#

使用三重转义:

foo=\\\"word\\"
echo $foo
\"word\"
ssh pi@1pi "echo $foo"
"word"

但一般来说,这种传递变量的方式是应该避免的。

相关问题