/dev/stdinというファイルを繰り返し生成するのは危険ですか?

/dev/stdinというファイルを繰り返し生成するのは危険ですか?

NewhamとRosenblattの「Learning the Bash Shell」第3版15ページに、以下の説明があります。

filename引数が省略されたときに特定のUNIXユーティリティが標準入力を受け入れない場合は、ダッシュ(0)を引数として使用してみてください。一部のNIXシステムは標準入力をファイルとして提供するため、/ dev / stdinファイルを入力ファイルargumnetとして提供できます。

最後の文は明確ではありません。 「標準入力をファイルとして提供する」とはどういう意味ですか?

/dev/stdinシステムに名前が付けられたファイルを「複製」するのは危険ではありません(私は個人的にUbuntu 16.04を使用します)。

しかし、同様のケースを経験しました。この投稿

ベストアンサー1

生成するのではなく、/dev/stdin使用することです。/dev/stdinデフォルトでは、標準入力をサポートしていない(または使用する-)コマンドで使用するファイルを指定して、とにかく標準入力を使用します。

だから

cat
cat -
cat /dev/stdin

すべてはcat標準入力から読み取られます(/dev/stdin異なるファイル記述子を使用してわずかに異なる方法で使用されますが、これはすべての場合で同じではないことを意味します)。私はない作る /dev/stdin、既存のデバイスノードをパラメータとして使用しますcat

おすすめ記事