我希望它能打印v=1
。为什么打印v=
?
cat<<DONE|ssh user@host
v=1
echo v=$v
DONE
在host
上,bash是shell。
答案 0 :(得分:7)
您的代码相当于:
echo "v=1;echo v=$v"|ssh user@host
你想要的是:
echo 'v=1;echo v=$v'|ssh user@host
您可以使用cat<<'DONE'
代替cat<<DONE
来实现此目的。
答案 1 :(得分:3)
变量在heredocs中扩展。您需要使用$
\