У меня есть скрипт, который должен делать много разных вещей на разных удаленных машинах. Я думал, что для этого подойдет heredoc, но я не могу использовать переменную, определенную в другом месте в сценарии, и переменную, определенную в heredoc.
Вот некоторый код:
#!/bin/sh
FOO="foo"
ssh some.remote.host << EOF
BAR="bar"
echo "FOO=$FOO"
echo "BAR=$BAR"
EOF
Это только печатает следующее:
FOO =
BAR = бар
Однако, если я процитирую строку EOF следующим образом:
ssh some.remote.host << "EOF"
тогда она печатает только следующее:
FOO = Foo
BAR =
Любые советы о том, как я могу использовать обе переменные внутри heredoc?
Благодарю.
источник