ダッシュで作業コマンドのgrepまたは単語数を出力することはできません。

ダッシュで作業コマンドのgrepまたは単語数を出力することはできません。

これをArchのdashシェルとFreeBSDのデフォルトのshシェルでテストしましたが、結果は同じでした。

$ sleep 100 &
$ jobs
[1] + Running                    sleep 100
$ jobs | wc
      0       0       0
$ jobs | grep 1

コマンドの出力はできwcません。このコマンドはシェルに組み込まれています。grepjobsjobs

その理由は何ですか?jobsインタラクティブシェルとパイプから異なる情報を印刷する方法はありますか?詳細はわかりませんが、同様の行動を知っていますls。つまり、シェルで圧縮された出力を表示できますが、lsgrepファイル名は別々の行で処​​理されます。

編集:同様の質問を見つけました。ダッシュですべてのバックグラウンドタスクを終了する方法は?この問題は、jobsコマンドの出力を取得できないために発生します。

ベストアンサー1

おすすめ記事