Yes (Unix)

yes là một lệnh Unix, có chức năng xuất liên tục một chuỗi cho trước cho đến khi bị ngắt.

Mộ tả

Nếu chuỗi không được cung cấp, lệnh yes mặc định xuất ra 'y' trên mỗi dòng, lặp lại đến khi bị ngắt bởi người dùng hay lệnh hủy. Nếu đầu ra của yes được truyền tới một lệnh khác bằng đường ống (|), yes sẽ dừng khi đường ống bị ngắt (chương trình nhận đường ống kết thúc).

Lệnh có thể dùng để kiểm tra khả năng chịu tải của hệ thống, như sử dụng yes 100% bộ xử lý trên hệ thống một bộ xử lý (trên hệ thống đa lõi, một tiến trình phải chạy trên mỗi bộ xử lý). Từ đó có nhiều ứng dụng chẳng hạn kiểm tra khả năng làm mát của hệ thống khi bộ xử lý hoạt động 100%.

Sử dụng

yes có thể dùng để gửi một thông báo khẳng định (y) hay phủ định (yes n) tới bất kỳ lệnh nào yêu cầu y/n, nhờ đó lệnh có thể hoạt động không cần tương tác của người dùng.

Ngày nay chức năng này có thể đã lỗi thời khi hầu hét các lệnh đều có tùy chọn 'force' (vd: rm -f) hay 'luôn yes' (vd: apt-get -y trong Debian).

Ví dụ lệnh xóa sau

rm -f *.txt

tương đương với:

yes | rm *.txt

Lệnh yes dùng chung với head có thể dùng để tạo ra các tệp với dung lượng lớn cho mục đích kiểm thử. Ví dụ:

<code>yes 1234567 | head -1000 > file<code>

Lệnh trên tạo ra một tập tin với 1000 dòng, mỗi dòng chưa tám ký tự (1, 2, 3, 4, 5, 6, 7 và ký tự xuống hàng).

Năm 2006, lệnh yes được biết đến rộng rãi qua việc sử dụng để kiểm thử MacBook có bị tắt ngẫu nhiên hay không. Bằng cách chạy lệnh yes qua ứng dụng Terminal.app trên Mac OS X, người dùng có thể quá tải CPU, và xem điều gì xảy ra khi nhiệt độ bộ xử lý tăng lên.

Tham khảo

Liên kết ngoài
Manpage for yes (GNU version)

Phần mềm cho Unix