Tôi muốn làm một số xử lý sự cố trên tập lệnh bash của tôi. Có một lệnh ngắn và đơn giản tạo ra cả hai stdout
và stderr
để tôi có thể sử dụng 2>&1
nó không? Xin lỗi nếu điều này có vẻ tầm thường, nhưng tôi không thể nghĩ ra một cái vào lúc này.
Tôi muốn làm một số xử lý sự cố trên tập lệnh bash của tôi. Có một lệnh ngắn và đơn giản tạo ra cả hai stdout
và stderr
để tôi có thể sử dụng 2>&1
nó không? Xin lỗi nếu điều này có vẻ tầm thường, nhưng tôi không thể nghĩ ra một cái vào lúc này.
Câu trả lời:
Một cách tiếp cận đơn giản sẽ được sử dụng ls
để liệt kê các tệp thực tế và tưởng tượng:
ls . *.blah
Điều này giả định rằng có những file có thể nhìn thấy trong thư mục làm việc và rằng bạn không có bất kỳ tập tin kết thúc bằng .blah
1
1. ... và nếu bạn làm thế, chúng tôi sẽ không phán xét bạn.
bash -O failglob
. (và ls .
có thể trả về không có gì trên thiết bị xuất chuẩn nếu thư mục hiện tại chỉ có các tệp / thư mục ẩn). Tốt hơnls / /x
ls / /x
df / /x
wc / /etc/passwd
od / /dev/null
Để đảm bảo thiết bị xuất chuẩn được viết trước stderr:
(w;/) # Bourne/csh like shells only.
sh -c 'w;/'
'time' w
ls . *blah
(giả sử bạn có một số tệp hiển thị trong thư mục hiện tại và không có một kết thúc nàoblah
) ...