Tôi hơi bối rối trước biểu hiện này:
gcc -c -g program.c >& compiler.txt
Tôi biết &>filename
sẽ chuyển hướng cả stdout và stderr đến tệp filename
. Nhưng trong trường hợp này, dấu và ở sau dấu lớn hơn. Nó trông giống như biểu mẫu M>&N
, ở đâu M
và N
là các bộ mô tả tệp.
Trong đoạn mã trên, hiện M=1
và N='compiler.txt'
? Chính xác thì điều này khác với:
gcc -c -g program.c > compiler.txt (ampersand removed)
Sự hiểu biết của tôi là mỗi tệp đang mở được liên kết với một bộ mô tả tệp lớn hơn 2. Điều này có đúng không?
Nếu vậy, tên tệp có thể hoán đổi cho nhau với bộ mô tả tệp của nó như là mục tiêu chuyển hướng không?