true και false

Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
(Ανακατεύθυνση από False (Unix))

Στα 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}.[1] Το παράδειγμα που ακολουθεί προέρχεται από το bashbug, το σενάριο αναφοράς λαθών του bash:

: ${TMPDIR:=/tmp}
: ${EDITOR=$DEFEDITOR}
: ${USER=${LOGNAME-`whoami`}}

Δείτε επίσης[Επεξεργασία | επεξεργασία κώδικα]

Παραπομπές[Επεξεργασία | επεξεργασία κώδικα]

  1. Shell Command Language: 2.6.2 Parameter Expansion – The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition

Σελίδες εγχειριδίων[Επεξεργασία | επεξεργασία κώδικα]