bash で自分のプログラム (gollum) を起動し、stderr の一部 (ポート番号) を別のプログラムの引数として使用したいと考えています。stderr を stdout にリダイレクトし、grep と sed を使用して出力をフィルタリングします。私は標準出力で結果を取得します:
gollum -p0 2>&1| sed -n -e "s/.*port=//p"
gollum はサーバーであるため、「56343」を返し、実行を続けます。
ただし、これを別のプログラムの引数として使用したい場合 (つまり、echo ですが、後でポート番号でインターネット ナビゲーターを起動するために使用したい場合)、xargs では機能しません。
gollum -p0 2>&1| sed -n -e "s/.*port=//p" | xargs -n1 echo
何も起こりません。理由を知っていますか、それとも同じことをする別のアイデアがありますか。
ご協力ありがとうございました。