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}
.[1] Το παράδειγμα που ακολουθεί προέρχεται από το bashbug, το σενάριο αναφοράς λαθών του bash:
: ${TMPDIR:=/tmp} : ${EDITOR=$DEFEDITOR} : ${USER=${LOGNAME-`whoami`}}
Δείτε επίσης
[Επεξεργασία | επεξεργασία κώδικα]Παραπομπές
[Επεξεργασία | επεξεργασία κώδικα]- ↑ Shell Command Language: 2.6.2 Parameter Expansion – The Open Group Base Specifications Issue 6, IEEE Std 1003.1, 2004 Edition
Σελίδες εγχειριδίων
[Επεξεργασία | επεξεργασία κώδικα]- true(1): Δεν κάνει τίποτε, με επιτυχία – Κεντρικά εργαλεία GNU (Αγγλικά)
- false(1): Δεν κάνει τίποτε, χωρίς επιτυχία - Κεντρικά εργαλεία GNU (Αγγλικά)
- true(1): Return true value - FreeBSD manual page (Αγγλικά)
- false(1): Return false value - FreeBSD manual page (Αγγλικά)