Results (
Vietnamese) 1:
[Copy]Copied!
Câu trả lời ngắn là bạn có thể không. Bash luôn luônin tình trạng của các công việc nền trước. Giám sátcờ chỉ áp dụng cho công việc nền, và chỉ chotương tác vỏ, không kịch bản. Xem notify_of_job_status() ở jobs.c. Như bạn nói, bạn có thể chuyển hướng do đó, tiêu chuẩn lỗichỉ tới/dev/null nhưng sau đó bạn bỏ lỡ bất kỳ khácthông báo lỗi. Bạn có thể làm cho nó tạm thời bởilàm chuyển hướng trong một subshell chạy cáckịch bản. Điều này lá môi trường ban đầu một mình. (kịch bản 2 >/dev/null) mà sẽ mất tất cả thông báo lỗi, nhưng chỉ từ đókịch bản, không từ bất cứ điều gì khác chạy trong đó vỏ. Bạn có thể lưu và khôi phục lại tiêu chuẩn lỗi, bởichuyển hướng một filedescriptor mới chỉ có: exec 3 > & 2 # 3 bây giờ là một bản sao của 2 exec 2 >/dev/null # 2 bây giờ điểm để/dev/null kịch bản # chạy kịch bản với chuyển hướng stderr exec 2 > & 3 # khôi phục stderr để lưu exec 3 > & - # đóng lưu Phiên bản nhưng tôi không muốn giới thiệu này - chỉ ngượctừ những người đầu tiên là nó giúp tiết kiệm một quả đạn pháo phụinvocation, trong khi người phức tạp hơn và,có thể thậm chí thay đổi hành vi của các kịch bản, nếukịch bản làm thay đổi tập tin mô tả.
Being translated, please wait..