【问题标题】:piping a script to ssh, unable to set variable将脚本管道传输到 ssh,无法设置变量
【发布时间】:2013-05-23 16:45:47
【问题描述】:

我希望它打印v=1。为什么会打印v=

cat<<DONE|ssh user@host
v=1
echo v=$v
DONE

host 上,bash 是外壳。

【问题讨论】:

标签: linux bash


【解决方案1】:

你的代码相当于:

echo "v=1;echo v=$v"|ssh user@host

你想要的是:

echo 'v=1;echo v=$v'|ssh user@host

您可以通过使用cat&lt;&lt;'DONE' 而不是cat&lt;&lt;DONE 来实现此目的。

【讨论】:

    【解决方案2】:

    变量在 heredocs 中展开。您需要使用\ 转义$

    【讨论】:

      猜你喜欢
      • 2022-09-27
      • 1970-01-01
      • 2021-03-31
      • 1970-01-01
      • 2023-03-15
      • 2014-01-09
      • 1970-01-01
      • 1970-01-01
      • 2021-11-04
      相关资源
      最近更新 更多