True và false (Unix)
Trong các hệ điều hành giống Unix, true và false là các lệnh chỉ có chức năng là trả về giá trị 0 hoặc 1.
Sử dụng
Trị trả về của một lệnh thường là thành công (trị không) hoặc thất bại (trị khác không). Hai lệnh true và false cung cấp giá trị luận lý cho lệnh trả về: true trả về 0, false trả về 1. Hai lệnh này thường được dùng trong câu lệnh có điều kiện, vòng lặp hay văn lệnh. Ví dụ văn lệnh dưới đây lặp lại câu lệnh echo hello đến khi bị ngắt:
while true do echo hello done
Lệnh có thể dùng để bỏ qua kết quả thành công hay thất bại của một dãy lệnh khác, ví như:
make … && false
Nếu đặt login shell của một người dùng thành false trong /etc/passwd, người dùng đó không thể truy cập tới bất kỳ trình bao nào trên máy tính, nhưng tài khoản người dùng vẫn có hiệu lực với các dịch vụ khác, như FTP. (Trong trường hợp này /sbin/nologin thực hiện triệt để hơn, khi người dùng đăng nhập, máy tính đưa ra một thông báo và kết thúc phiên làm việc.)
Hai chương trình không có một đối số "thực sự nào"; trong vài phiên bản, đối số chuẩn --help
hiển thị hướng dẫn sử dụng và --version
hiển thị phiên bản chương trình
Lệnh rỗng
Lệnh true đôi khi được thay thế cho lệnh rỗng[1] có sẵn trong trình bao(lệnh rỗng được viết dưới dạng dấu hai chấm :
). Cũng như lệnh rỗng, các tham số đi sau lệnh true đều bị bỏ qua. Nó cũng được dùng như là lệnh NOP hình thức cho các hiệu ứng lề như chỉ định giá trị mặc định cho các biến thông qua mẫu ${parameter:=word}.
[2] Ví dụ, theo bashbug, tập lệnh thông báo lỗi cho Bash:
- ${TMPDIR:=/tmp}
- ${EDITOR=$DEFEDITOR}
- ${USER=${LOGNAME-`whoami`}}