ฉันมีสคริปต์ที่ต้องทำสิ่งต่าง ๆ มากมายในเครื่องระยะไกลที่แตกต่างกัน ฉันคิดว่า 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?
ขอบคุณ