2011-01-12 106 views
1

當通過ssh連接到遠程計算機時,我無法填充變量。當通過ssh連接遠程計算機時,有全局變量填入

我想執行的bash腳本如下聲明:

SSH用戶@主機 '$ INSTALL_DIR /腳本/ replaceAll.sh' 「$ orig_val $ new_val」;

$ INSTALL_DIR是兩臺機器上的全局變量,每個機器的值不同,而$ orig_val和$ new_val是腳本本身計算的變量。我正在使用SunOS 5.10

問題是$ INSTALL_DIR使用本地值,而它應該使用遠程值。你能告訴我我在這裏做錯了嗎?

回答

0

你的shell將它傳遞給SSH之前評估的變量,你需要強制shell將參數作爲純文本

2

逃離美元符號:

ssh [email protected] '\$INSTALL_DIR/script/replaceAll.sh'" $orig_val $new_val" 
+0

當我做到這一點,變量在目標機器上也沒有解析。它給出了以下錯誤: ksh:$ INSTALL_DIR/script/replaceAll.sh:找不到 – David 2011-01-13 11:52:30