lesskiểm tra xem nó stdoutcó phải là thiết bị đầu cuối không và hoạt động như thế catnào khi không (sao chép stdin sang thiết bị xuất chuẩn cho đến khi EOF).
Tính năng này cho phép bạn viết các tập lệnh hoặc chương trình luôn gửi đầu ra của chúng (ví dụ như --helpđầu ra) lesstrong khi vẫn cho phép chuyển hướng dễ dàng đến một tệp. Nó sẽ hút nếu some_command --fullhelp > help.txtvẫn chờ thanh không gian trên stdin đến trang thông qua văn bản, hoặc một cái gì đó. Một số lệnh (ví dụ man) kiểm tra xem đầu ra của chính chúng để quyết định có gửi đầu ra của chúng thông qua máy nhắn tin hay không. Nếu bạn chạy man ls > ls.txt, nó không bao giờ gọi bạn $PAGER.
lessHành vi giống như con mèo rất tiện lợi nếu bạn quên chỉnh sửa nó từ một lớp lót khi thêm nhiều giai đoạn vào đường ống.
lesscần phải tìm ra kích thước thiết bị đầu cuối (kích thước màn hình, để biết có bao nhiêu dòng hiển thị cùng một lúc). Việc ioctl(2)sử dụng nó stdoutsẽ trả về ENOTTY trên một thiết bị đầu cuối, vì vậy dù sao nó cũng không thể tránh xử lý trường hợp không phải thiết bị đầu cuối. lessthực sự sử dụng isatty(3)trước khi kiểm tra kích thước thiết bị đầu cuối, nhưng isattyhoạt động bằng cách thử ioctl chỉ tty và kiểm tra thiếu lỗi.
Ngay cả một máy nhắn tin đơn giản như more(1)(ít nhất là phiên bản linux-linux) cũng có tính năng này, bởi vì đó có lẽ là hành vi lành mạnh đơn giản nhất để thực hiện cho trường hợp đó.
Lưu ý rằng khi bạn đặt một cái gì đó vào less (ví dụ grep foo bar.txt | less), nó phải mở /dev/ttycho đầu vào bàn phím. (Bạn có thể thấy nó làm điều này với echo foo | strace less).
bash script.sh,bash script.sh | cat,bash script.sh > file, và xem những gì bạn nhận được đầu ra.