我有一个脚本,显示所有在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}'' ! 谢谢 –