小编tru*_*one的帖子

在heredoc中传递和设置变量

我有一个脚本,它必须在许多不同的远程机器上做许多不同的事情。我认为 heredoc 会为此工作,但我无法使用脚本中其他地方定义的变量heredoc 中定义的变量。

这是一些代码:

#!/bin/sh

FOO="foo"
ssh some.remote.host << EOF
  BAR="bar"
  echo "FOO=$FOO"
  echo "BAR=$BAR"
EOF
Run Code Online (Sandbox Code Playgroud)

这仅打印以下内容:

FOO=

酒吧=酒吧

但是,如果我像这样引用 EOF 行: ssh some.remote.host << "EOF" 那么它只打印以下内容:

富=富

酒吧=

关于如何在 heredoc 中使用这两个变量的任何提示?

谢谢。

shell-script here-document

29
推荐指数
1
解决办法
2万
查看次数

标签 统计

here-document ×1

shell-script ×1