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 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}. Ví dụ, theo bashbug, tập lệnh thông báo lỗi cho Bash:
 ${TMPDIR:=/tmp}
 ${EDITOR=$DEFEDITOR}
 ${USER=${LOGNAME-`whoami`}}

Tham khảo

Liên kết ngoài

Trang chỉ dẫn 
true(1): Do nothing, successfully – GNU Coreutils reference
false(1): Do nothing, unsuccessfully – GNU Coreutils reference
true(1): Return true value - FreeBSD manual page
false(1): Return false value - FreeBSD manual page

Chương trình Unix chuẩn
Tiện ích Unix SUS2008

de:True (Unix)
fr:True (Unix)
hu:True (Unix)
ja:True (UNIX)
pl:True (Unix)
ru:True
uk:True (Unix)