Saya memiliki skrip yang harus melakukan banyak hal berbeda pada banyak mesin jarak jauh yang berbeda. Saya berpikir bahwa heredoc akan bekerja untuk ini, tetapi saya tidak dapat menggunakan variabel yang didefinisikan di tempat lain dalam skrip dan satu didefinisikan dalam heredoc.
Ini beberapa kode:
#!/bin/sh
FOO="foo"
ssh some.remote.host << EOF
BAR="bar"
echo "FOO=$FOO"
echo "BAR=$BAR"
EOF
Ini hanya mencetak yang berikut ini:
FOO =
BAR = bar
Namun, jika saya mengutip garis EOF seperti ini:
ssh some.remote.host << "EOF"
maka ia hanya mencetak yang berikut ini:
FOO = foo
BAR =
Adakah petunjuk tentang bagaimana saya dapat menggunakan kedua variabel di dalam heredoc?
Terima kasih.
sumber