我有一個腳本,顯示所有在AWS上說我運行的實例:如何將腳本的輸出作爲參數傳遞給ssh命令?
$/home/scripts/show_instances.sh
i-f66d2de0 running 10.148.17.40
i-fxxdbbe0 running 10.148.20.60
(...)
我想要做的是採取的第一個IP,管SSH和自動連接到服務器。我嘗試這樣做:
$/home/scripts/show_instances.sh | tail -1 | awk '{print $3}' | xargs ssh
但不工作:它連接到服務器,但我類型(即LS)的第一個命令後,終端只是似乎在等待着什麼,並沒有任何反應(我在mac連接到Unix),所以我必須退出實例與ctrl + c。一些建議?
不確定'xargs'是否在這種情況下購買任何東西。如果你的標題真的是你的Q,那麼'ssh $(..../show_instances.sh | awk'NR == 1 {print $ 3}')..other ssh stuff ...'(using cmd-substitution'$ (...)')應該可以解決你的問題。 (不需要尾巴)。否則似乎你的Q可能是關於「我怎麼使用'xargs')。祝你好運。 – shellter
通常你可以使用反引號(或$()')來獲得這個(我不能告訴你反引號是如何工作的,因爲它們用於在StackOverflow網站上進行格式化) – Dominique
哇!天才!它現在正在工作!我喜歡這樣: ssh'/home/scripts/show_instances.sh | tail -1 | awk'{print $ 3}'' ! 謝謝 –