私はこの表現に少し混乱しました:
gcc -c -g program.c >& compiler.txt
&>filename
stdoutとstderrの両方をファイルにリダイレクトすることはわかっていますfilename
。ただし、この場合、アンパサンドは大なり記号の後にあります。これは、の形式のように見えます。M>&N
ここでM
、およびN
はファイル記述子です。
上記のスニペットでは、doesM=1
とN='compiler.txt'
?これは次とどの程度正確に異なりますか。
gcc -c -g program.c > compiler.txt (ampersand removed)
私の理解では、開いている各ファイルは2より大きいファイル記述子に関連付けられています。これは正しいですか?
もしそうなら、ファイル名はリダイレクトのターゲットとしてのファイル記述子と交換可能ですか?