我有一个脚本,它必须在许多不同的远程机器上做许多不同的事情。我认为 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 中使用这两个变量的任何提示?
谢谢。