コマンドの出力を別のコマンドのパラメーターとして使用するにはどうすればよいですか?私の具体的な例は、pgrep
を使用してプロセスの[〜#〜] pid [〜#〜]を取得し、それをの_-p
_オプションに渡したいというものです。 lsof
。
私は次のようなことを試しました:
pgrep myprocess | lsof -p /dev/stdin
_pgrep myprocess | lsof -p -
_私はあなたがこのようにそれをすることができることを知っています:
pid=$(pgrep myprocess) && lsof -p "$pid"
しかし、それを行うためのより良い方法がなければなりません。おそらくxargs
か何か?きれいなものが見つからなかったので、よろしくお願いします。
ありがとう!
pgrep
が複数のPIDを返す可能性があると仮定します。
$ pgrep mycommand | xargs -n 1 lsof -p
これにより、PIDごとに、PIDが追加されたlsof -p
が実行されます。