Απλός χειρισμός Bash: Έξοδος λογικής έκφρασης: test
Description: This is issue 29 of Magaz, the Hellenic LinuxMagazine
Keywords: magaz hellenic greek hellas greece hellug linux magazine

Magaz, The Greek Linux Magazine
Τεύχος #29
Περιληπτικά Περιεχόμενα Αναλυτικά Περιεχόμενα Mirrors Links Πληροφορίες Συντάκτες Αναζήτηση Επικοινωνία
Επόμενο Προηγούμενο Περιεχόμενα ### 3. Έξοδος λογικής έκφρασης: test Όποτε θέλουμε να ελέγξουμε το αποτέλεσμα μίας λογικής ή αριθμητικής έκφρασης χρησιμοποιούμε τη συνάρτηση test. Η συνάρτηση test επιστρέφει τιμή "αληθής" ή "ψευδής" ανάλογα με το αληθές ή ψευδές της λογικής (ή και αριθμητικής) έκφρασης που ελέγχεται. H συνάρτηση test μπορεί να γραφεί και ώς `[ έλεγχος ]` . Η έκφραση μπορεί να έχει ένα μόνο στοιχείο και έναν τελεστή (ο οποίος έτσι ονομάζεται unary operator) ή μπορεί να έχει δύο στοιχεία και έναν τελεστή ο οποίος ονομάζεται binary operator. Πιο πολλές πληροφορίες από το manual page της συνάρτησης test το οποίο μπορείτε να δείτε γράφοντας man test Οι πιο συνηθισμένοι τελεστές: `test [ 1 -eq 2 ]` Η ανωτέρω έκφραση είναι ψευδής γιατί ο (αριθμητικός) τελεστής -eq σημαίνει ισότητα (equal). Άλλοι αριθμητικοί τελεστές είναι οι: -gt ο αριθμός αριστερά είναι μεγαλύτερος από τον αριθμό δεξιά (greater than). -lt ο αριθμός δεξιά είναι μικρότερος από τον αριθμό αριστερά (less than). -ne οι δύο αριθμοί δεν είναι ίσοι (not equal). -ge ο αριθμός αριστερά είναι μεγαλύτερος ή ίσος από τον αριθμό δεξιά (greater or equal). -le ο αριθμός αριστερά είναι μικρότερος ή ίσος από τον αριθμό δεξιά (less or equal). `test [ like = likme ]` Η ανωτέρω έκφραση είναι ψευδής γιατί ο (λογικός) τελεστής = σημαίνει ότι τα δύο strings που συγκρίνουμε είναι ίσα (ίδια). Άλλοι λογικοί τελεστές σχετικοί με strings είναι οι: != ο οποίος προφανώς επιστρέφει "αληθές" όταν τα δύο strings που συγκρίνουμε είναι ανόμοια. -z ο οποίος είναι unary operator (συντάσσεται δηλαδή ως εξής: `test [ -z string ]`) επιστρέφει "αληθές" αν το μήκος του string είναι μηδενικό. -n που είναι και αυτός unary operator (συντάσσεται δηλαδή ως εξής: `test [ -n string ]`) επιστρέφει "αληθές" αν το μήκος του string δεν είναι μηδενικό. `test [ -e filename ]` Η ανωτέρω έκφραση βγαίνει αληθής όταν το αρχείο με όνομα filename υπάρχει. Άλλοι τελεστές ελέγχου της κατάστασης ενός αρχείου είναι οι εξής (όλοι όσοι αναφέρονται εδώ είναι unary operators): -b αν το αρχείο υπάρχει και είναι block device -c αν το αρχείο υπάρχει και είναι character device -d αν το αρχείο υπάρχει και είναι directory -f αν το αρχείο υπάρχει και είναι κανονικό αρχείο -r αν το αρχείο υπάρχει και μπορεί να διαβαστεί -s αν το αρχείο υπάρχει και το μέγεθος του δεν είναι μηδέν -w αν το αρχείο υπάρχει και μπορεί να γραφτεί -x αν το αρχείο υπάρχει και μπορεί να εκτελεστεί Επόμενο Προηγούμενο Περιεχόμενα