TL;DR 警告に従いパイプで受けるコマンド <ファイル名とするのが最も無難。 内容 技術記事の多くで当たり前のようにcat file.txt | grep …といった形で1ファイルだけの中身を読み込んでパイプで渡すような書き方をよく見かけるが、ShellCheckを導入していると以下(SC2002)に違反しており警告となる。 Useless cat. Consider cmd < file | .. or cmd file | .. instead. なぜ警告となるかは速度の問題など上記ページのリンク先やこの番号で調べればいくらでも出てくるので割愛するが(Useless use of cat (UUOC))、そもそもcatコマンドは複数のファイルを結合することが役割なので、1ファイルだけの中身を加工すること自体が目的に沿っていない。 つまり機能仕様上は可能ではあるというだけなのだが、何故