Fish Shell:
Ghi vào lỗi chuẩn
Làm thế nào:
Để ghi vào stderr trong Fish, sử dụng echo
kèm theo >&2
:
echo "Lỗi: Đã xảy ra sự cố" >&2
Kết quả sẽ không hiển thị trong đầu ra lệnh thông thường nhưng sẽ được hiển thị trên bảng điều khiển hoặc có thể được chuyển hướng sang một tệp:
echo "Lỗi: Đã xảy ra sự cố" >&2 > /dev/null
Lệnh này tắt âm thanh đầu ra chuẩn nhưng hiển thị thông báo lỗi.
Sâu hơn
Ngay từ đầu, Unix đã thiết lập các luồng riêng biệt cho dữ liệu và lỗi: stdout và stderr. Việc tách chúng ra cho phép xử lý dữ liệu sạch sẽ và xử lý lỗi độc lập. Trong Fish, giống như trong các shell khác, >&2
là một toán tử hướng đầu ra đến stderr. Các phương án thay thế để báo hiệu lỗi bao gồm trạng thái thoát và các cơ chế ghi log tùy chỉnh, nhưng việc ghi trực tiếp vào stderr là đơn giản và được sử dụng rộng rãi. Là một shell được thiết kế cho việc sử dụng tương tác, Fish kết hợp các đặc điểm từ các shell khác, bao gồm quy ước stderr này.
Xem thêm
- Tài liệu Fish Shell: Sử dụng stderr
- Hướng dẫn lập kịch bản shell POSIX, áp dụng cho việc xử lý stderr: Hướng dẫn Bash GNU