好吧,我有一個需要通過SSH執行一堆命令的腳本,但是我也想允許它在本地運行相同的命令,如果提供的目標是本地路徑而不是主機名稱。通過SSH執行大量命令
現在我可以確定我是否在本地操作而沒有太多麻煩,但是我有一套非常複雜的命令來運行,遠遠超過了適合直接作爲參數提供給ssh的參數。
我想要做的是一樣的東西:
if [ -n "$HOST" ]
then
ssh "$HOST"
fi
# Run some commands
# exit
但也有明顯的問題,比如我怎麼會通過相應的變量和退出,而不會導致當指定本地腳本提前結束。所以我不確定這是否可行,有沒有辦法像上面那樣使用普通的shell命令來實現遠程運行?
如果沒有,替代方法是提取我需要運行的命令到他們自己的shell腳本中,並確保我的ssh命令拷貝跨越shell腳本(如果它不存在)然後運行它,但我不知道該怎麼做?我熟悉基本的unix命令,但不是這樣的!
無論如何,我會很感激任何建議,以最好的方式來做到這一點,如果可能的話,給一個詳細的例子。