場合によっては、標準IOストリームの1つの「等価パス」(stdin
、、、stdout
)を指定する必要があります。stderr
私は99%の時間Linuxを使用しているので/dev/
待つ準備ができています/dev/stdin
。そしてこれ〜らしい正しいことをしなさい。
だからいくつかの質問があります。
Linux環境では
stdin
、、、stdout
およびを、およびstderr
と同一視するのは安全ですか(はい/いいえ)?/dev/stdin
/dev/stdout
/dev/stderr
より一般的に、この同等性は「十分」ですか?持ち運べる「?
POSIX 参照が見つかりません。
ベストアンサー1
Linuxでは長い間使用されてきました。これはいいえPOSIX、たとえ多くの実際のシェル(AT&Tksh
およびAT&Tを含むbash
)がOSにない場合は、これをエミュレートしますが、このエミュレーションはシェルレベルでのみ機能します(つまり、パラメータなどの明示的に機能しないリダイレクトまたはコマンドライン引数open()
)。つまり、次のことが可能でなければなりません。最大何らかの方法で商用Unixシステム(時には/dev/fd/N
さまざまな整数で表記されますが、N
ほとんどのシステムはLinuxや* BSDなどのシンボリックリンクを提供します)。