私が実行しているAWS上のすべてのインスタンスを表示するスクリプトを持っている:スクリプトの出力を引数としてsshコマンドに渡すには?
$/home/scripts/show_instances.sh
i-f66d2de0 running 10.148.17.40
i-fxxdbbe0 running 10.148.20.60
(...)
私が何をしたいのですが、何がSSHと自動的にサーバーに接続するための最初のIP、パイプを取ることです。私はこの試みた:
$/home/scripts/show_instances.sh | tail -1 | awk '{print $3}' | xargs ssh
をしかし、働いていない。それは、サーバーに接続するが、私は(つまりLS)を入力し、最初のコマンドの後に、端末はちょうど何かを待っているように見えると何も起こりません(私はUNIXに接続しているMacの場合)、ctrl + cでインスタンスを終了する必要があります。いくつかの提案?
この場合、「xargs」があなたに何かを購入しているかどうかはわかりません。あなたの見出しが本当にあなたのQなら、 'ssh $(..../show_instances.sh | awk 'NR == 1 {print $ 3}')..他のssh stuff ...'(cmd-substitution '$ (...) ')あなたの問題を解決するはずです。 (テールは必要ありません)。そうでなければ、あなたのQは "xargs"をどのように使っているのでしょうか?)幸運 – shellter
一般的に、これを得るためにバッククォート(または '$()')を使うことができます。彼らはStackOverflowのウェブサイト上のフォーマットの目的のために使用されています) – Dominique
これはうまくいきましたよ: ssh '/home/scripts/show_instances.sh | tail -1 | awk '{print $ 3}'' はありがとう –