Câu trả lời:
Aahhh, bash
chuyển hướng: -
( pmset -g && echo && pmset -g assertions ) | open -f -a TextEdit
Điều đó chạy các lệnh của bạn dưới dạng một lệnh bash duy nhất (đó là hiệu ứng của &&
) trong lớp vỏ phụ (là thứ bao bọc nó trong ()
đó) và chuyển hướng đầu ra của lớp vỏ con thành TextEdit cho bạn. Về mặt kỹ thuật, bạn không phải sử dụng &&
thay vì ;
nhưng hiệu quả của việc thay đổi là nếu bất kỳ lệnh nào bị lỗi, nó sẽ dừng toàn bộ chuỗi tại thời điểm đó.
Lưu ý: Trong ví dụ của bạn, tất cả các lệnh đang được chạy (như bạn có thể chứng minh bằng cách chỉ chạy pmset -g; echo; pmset -g assertions
ở dòng lệnh), chỉ là bạn đang áp dụng đường ống cho chỉ lệnh cuối cùng. Đó là lý do tại sao nó cần phải được chạy trong một subshell.
Lưu ý: rằng bạn có thể thay thế |
ký tự bằng >
và gửi đầu ra vào một tệp nếu bạn muốn.