True και false

Στα Unix-οειδή λειτουργικά συστήματα, οι true και false είναι εντολές, η μοναδική λειτουργία των οποίων είναι να επιστρέφουν πάντα την τιμή 0 ή 1.

Γενικά

Το κέλυφος αντιμετωπίζει το 0 σαν τη λογική τιμή αληθές (true) και το 1 σαν ψευδές (false). Συνήθως χρησιμοποιείται σε εντολές υπό συνθήκη (conditional statements) και βρόχους των σεναρίων κελύφους όπου οι συνθήκες Bool δίνονται από τον κωδικό επιστροφής ενός προγράμματος. Για παράδειγμα, το εξής σενάριο του κελύφους Bourne εμφανίζει τη συμβολοσειρά hello μέχρι να τερματιστεί:

while true
do
  echo hello
done

Μπορεί να χρησιμοποιηθεί για να κάνει μια ακολουθία κατά τα άλλα χρήσιμων εντολών να αποτύχει:
 make … && false
Ο ορισμός του κελύφους εισόδου (login shell) ενός χρήστη σε false, στο /etc/passwd, πρακτικά αρνείται σε αυτόν πρόσβαση σε ένα αλληλεπιδραστικό κέλυφος, αλλά ο λογαριασμός του εξακολουθεί να είναι έγκυρος για άλλες υπηρεσίες, όπως το FTP. (Προτιμάται η χρήση του /sbin/nologin, αν είναι διαθέσιμο.)

Τα προγράμματα δεν παίρνουν "πραγματικές" παραμέτρους - σε κάποιες εκδόσεις η καθιερωμένη παράμετρος --help εμφανίζει συνοπτικά πληροφορίες χρήσης και η --version εμφανίζει την έκδοση του προγράμματος.

Η true μπορεί επίσης να γραφεί και σαν μια ανω και κάτω τελεία (:). Με αυτήν τη μορφή είναι συνήθως ενσωματωμένη στο κέλυφος και για αυτό μπορεί να είναι πιο αποδοτική. Η true συχνά χρησιμοποιείται σαν ψευδώνυμο της :,  (σε συμβατά με POSIX κελύφη όπως ο κέλυφος Bourne) σαν εντολή χωρίς λειτουργικότητα (dummy) όταν δίνονται προκαθορισμένες τιμές σε μεταβλητές του κελύφους μέσω της μορφής επέκτασης παραμέτρων ${parameter:=word}. Το παράδειγμα που ακολουθεί προέρχεται από το bashbug, το σενάριο αναφοράς λαθών του bash:
 : ${TMPDIR:=/tmp}
 : ${EDITOR=$DEFEDITOR}
 : ${USER=${LOGNAME-`whoami`}}

Δείτε επίσης
 Κατάλογος βοηθημάτων του Unix

Παραπομπές

Σελίδες εγχειριδίων
true(1): Δεν κάνει τίποτε, με επιτυχία – Κεντρικά εργαλεία GNU 
false(1): Δεν κάνει τίποτε, χωρίς επιτυχία - Κεντρικά εργαλεία GNU 
true(1): Return true value - FreeBSD manual page 
false(1): Return false value - FreeBSD manual page 

Unix