我有一個heredoc需要調用主腳本中的現有變量,和設置了自己的變量以供稍後使用。事情是這樣的:如何設置和展開heredoc部分中的變量
count=0
ssh $other_host <<ENDSSH
if [[ "${count}" == "0" ]]; then
output="string1"
else
output="string2"
fi
echo output
ENDSSH
這不起作用,因爲「輸出」不被設置到任何東西。
我試圖使用從這個問題的解決方案:
count=0
ssh $other_host << \ENDSSH
if [[ "${count}" == "0" ]]; then
output="string1"
else
output="string2"
fi
echo output
ENDSSH
它也不能工作。 $ output被設置爲「string2」,因爲$ count沒有被展開。
如何使用擴展父級腳本變量的heredoc,和設置自己的變量?
預期它表現。 heredoc中的代碼在遠程主機上運行,並且沒有看到「count = 0」的初始化。 – codeforester
有沒有辦法將變量(和其他幾個變量)傳遞給heredoc執行? – user2824889
沒有「heredoc執行」。 heredoc定義了一個字符串。該字符串被傳遞給ssh,由shell進行評估。 –