このコマンド(pgrep -d '、' -f cmdStr | top -c -p)が機能しない理由を説明してください。

このコマンド(pgrep -d '、' -f cmdStr | top -c -p)が機能しない理由を説明してください。

topコンソールでコマンドをフィルタリングする方法を探しているときに答えが見つかりました。

top -c -p $(pgrep -d',' -f string_to_match_in_cmd_line)

完璧に動作します。

少なくとも出力を入力としてpgrep -d ',' -f cmdStr | top -c -p供給することを行うと思うので、コマンドと同じだと思います。pgreptop

ただし、期待どおりにエラーが返されます。top: -p requires argument

それらの違いは何ですか?

ベストアンサー1

いいえ、同じではありません。echoコマンドを考えてみてください。あなたはそれを期待していますか?

echo hello asleea

そして

printf "asleaa\n" | echo hello

同じことを作りますか?このtop ... $(...)場合、シェルは最初にシェルの内容を実行し、$(...)実行時に引数リストに出力を配置しますtop

確かにtop できる引数が必要なフラグを与えたときに与えられなければ、stdinは追加の値を読み取るように書くことができますが、それは実装されません。

おすすめ記事