'& - 'ファイルディスクリプタは魚にどのような目的で使用されていますか?


1

魚のマニュアルから:

[ファイル記述子]はアンパサンドの後にマイナス記号(& - )を付けたものです。ファイル記述子は閉じられます

Arch wikiより:

標準出力のサイレンシング:      $ command> & -

これから私はそれがのエイリアスのように振る舞うと思っていました /dev/nullしかし、コマンドラインで簡単に実験してみると、これはそうではないことがわかります。

$ echo hello >&-  
Error while writing to stdout
write_loop: Bad file descriptor

また、奇妙なことに&の前にスペースを追加するとします。別のエラーが発生します。

$ echo hello > &-
Expected a string, but instead found a '&'

ここで一体何が起こっているのですか?私は魚を走っています2.2.0


3
あなたが引用したドキュメンテーションはそれがそうであると言います 閉まっている 。閉じたファイルディスクリプタに書き込むとエラーが発生します。これは報告されます(もちろん標準エラー出力 - 異なるファイルディスクリプタ)。
Thomas Dickey
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.