2
我正在創建一個遠程變量,其值要分配給unix中的局部變量。下面是代碼 #!/斌/慶典將遠程變量的值分配給unix/linux中的局部變量
INPUT= "test"
ssh [email protected]
"if [ -s $INPUT ];
then
date=\`date\`
remote= $INPUT.date
$INPUT= \$remote
else
mkdir $INPUT
fi"
基本上我將值分配給一個局部變量。在ssh到遠程服務器時,我正在檢查是否存在名稱爲「test」的非空目錄。如果是這樣,那麼我在$ INPUT局部變量附加一個時間戳。代碼工作正常,直到第8行「remote = $ INPUT.date」。但是將遠程變量\ $ remote分配給本地變量$ INPUT不會。我究竟做錯了什麼。謝謝您的幫助。
我不認爲遠程shell可以改變你的本地shell的變量,不。相反,您遠程運行的腳本可能會打印$ remote的值或者什麼都不是,你可以例如使用反引號將其捕獲到變量中,然後使用它來有條件地更新INPUT? – Rup
那麼我該如何做到這一點?將遠程變量導出到本地文件?我嘗試了「cat \ $ remote> file.txt」,但是由於整個代碼(「if .... fi」)在服務器上運行,因此file.txt在遠程服務器上生成。 – user45270