理由は grep
でパイプが閉じられているためです cat
から読み取るデータがまだある場合 .シグナル SIGPIPE
猫に捕まって退場。
パイプラインで通常起こることは、シェルが cat
を実行することです 1 つのプロセスで grep
別の。 cat
の標準出力 grep
のパイプと stdin の write-end に接続されています 読み終わりへ。何が起こったのか grep
存在しないパターン検索にヒットしてすぐに終了し、パイプの読み取り側が閉じられました。 cat
パイプに書き出すデータがさらにあるため、好きではありません。書き込みアクションは、閉じられた相手に発生するため、 SIGPIPE
cat
に引っかかる
このような些細なケースでは、パイプラインの使用を完全に削除して、grep "pattern" file.txt
として実行できます。 ファイルの内容が grep
の stdin で利用可能になったとき
Rust ツールチェーンを Docker にインストールすると、Bash の「source」コマンドが機能しません
platform.linux_distribution() 非推奨 - 代替手段は何ですか?