Bash:
Ghi vào lỗi chuẩn

Làm thế nào:

# Điều hướng lệnh echo tới lỗi chuẩn
echo "Error: Invalid input." >&2

# Sử dụng printf để ghi vào lỗi chuẩn
printf "Error: File not found.\n" >&2

# Script mẫu ghi cả vào stdout và stderr
echo "Quá trình bắt đầu..."
echo "Oops! Có gì đó không đúng." >&2
echo "Quá trình hoàn thành."

Đầu ra mẫu:

Quá trình bắt đầu...
Quá trình hoàn thành.
Oops! Có gì đó không đúng.

Trong ví dụ trên, “Oops! Có gì đó không đúng.” được gửi đến stderr và có thể xuất hiện không theo thứ tự khi được trộn lẫn với stdout trên một cửa sổ dòng lệnh vì stderr thường không được đệm.

Sâu hơn

Bash kế thừa khái niệm ‘mô tả tập tin’ từ Unix, với stdout đến fd 1stderr đến fd 2. Điều hướng tới &2 gửi đầu ra đến stderr. Một cách lịch sử, sự tách biệt này cho phép quản lý và lọc dễ dàng hơn, với 2>&1 là một mẫu thông dụng để điều hướng stderr tới stdout. Một lựa chọn thay thế khả thi cho việc điều hướng rõ ràng là sử dụng logger để tích hợp syslog hoặc cấu hình script để xử lý lỗi nội bộ.

Xem Thêm