Trong các tập lệnh, lỗi thường được gửi đến tập tin mô tả 2 với &2
, nghĩa là:
echo "error" >&2
Đôi khi /dev/stderr
được sử dụng thay thế:
echo "error" > /dev/stderr
Nhìn vào /dev/stderr
, tôi thấy rằng nó chỉ là một liên kết tượng trưng /proc/self/fd/2
, đến lượt nó là một liên kết tượng trưng đến /dev/pts/5
(trên thiết bị đầu cuối hiện tại của tôi).
Có vẻ hơi phức tạp. Có một số logic đằng sau đó?
Là sử dụng /dev/stderr
và &2
tương đương?
Có ai trong số những người ưa thích hơn những người khác?
>2
hay >&2
không?
echo "error" >2
tạo ra một tập tin với tên2
và nội dungerror
.