2014-09-30 13 views
0

我想將兩個文件發送到bash並通過ssh遠程運行。我有下面的代碼片段:將兩個文件管理爲bash,並通過ssh遠程運行

#!/bin/bash 
echo "Logging in..." 
ssh -i ~/.ssh/my.pem [email protected] -T "bash -l" < ${MY_HOME}/check.sh 

其工作,但我有另一個一些變量,我想使遠程提供內部check.sh。這是我想要的一個壞的方式:

#!/bin/bash 
echo "Logging in..." 
ssh -i ~/.ssh/my.pem [email protected] -T "bash -l" < (${MY_HOME}/vars.sh < ${MY_HOME}/check.sh) 

有沒有什麼辦法可以做到這一點?以上根本不起作用。

回答

1

你幾乎知道了 - 你只需要將這些文件「貓」在一起。

cat ${MY_HOME}/vars.sh ${MY_HOME}/check.sh | ssh -i ~/.ssh/my.pem [email protected] -T "bash -l" 
+0

感謝您的回答。當我嘗試這樣做時,出現錯誤「bash:/ dev/fd/63:No such file or directory」。是因爲它在本地創建文件,而bash正試圖遠程解析temp/pseudo文件? – 2014-09-30 08:04:22

+0

@ josef.van.niekerk:是的,對不起,我更新了我的答案,你可以再試一次。 – 2014-09-30 08:07:02

+0

天才!現在完美的工作!感謝你的回答! – 2014-09-30 08:23:10

相關問題