2
可以在SSH heredoc 或命令中使用本地和遠程變量嗎?SSH - 無法在heredoc或命令中使用本地和遠程變量
下面是使用一個定界符的ssh腳本的示例(實際的腳本是更復雜的):
FILE_NAME被設置在本地服務器上要在遠程服務器上使用。
當在本地服務器上使用的遠程服務器上運行時,REMOTE_PID被設置。
FILE_NAME在腳本中被識別。 REMOTE_PID未設置。
如果EOF更改爲'EOF',REMOTE_PID已設置,則FILE_NAME不是。 (我不知道 爲什麼這是?)
有沒有一種方法可以識別REMOTE_PID和FILE_NAME?
使用bash的版本2。默認的遠程登錄是cshell,本地腳本是bash。
FILE_NAME=/example/pdi.dat
ssh [email protected] bash << EOF
# run script with output...
REMOTE_PID=$(cat $FILE_NAME)
echo $REMOTE_PID
EOF
echo $REMOTE_PID
我覺得區別是如果您將'Y'更改爲'X',則更清楚。 – 123
@ 123好主意,謝謝 –
如果在第二個EOF之後運行echo $ X,應該顯示什麼?是否有可能在heredoc中設置變量並在外部使用? –