Magaz, The Greek Linux Magazine
Magaz Logo

Επόμενο  Προηγούμενο  Περιεχόμενα

3. Έξοδος λογικής έκφρασης: test

Όποτε θέλουμε να ελέγξουμε το αποτέλεσμα μίας λογικής ή αριθμητικής έκφρασης χρησιμοποιούμε τη συνάρτηση test. Η συνάρτηση test επιστρέφει τιμή "αληθής" ή "ψευδής" ανάλογα με το αληθές ή ψευδές της λογικής (ή και αριθμητικής) έκφρασης που ελέγχεται. H συνάρτηση test μπορεί να γραφεί και ώς [ έλεγχος ] . Η έκφραση μπορεί να έχει ένα μόνο στοιχείο και έναν τελεστή (ο οποίος έτσι ονομάζεται unary operator) ή μπορεί να έχει δύο στοιχεία και έναν τελεστή ο οποίος ονομάζεται binary operator. Πιο πολλές πληροφορίες από το manual page της συνάρτησης test το οποίο μπορείτε να δείτε γράφοντας man test

Οι πιο συνηθισμένοι τελεστές:

  • test [ 1 -eq 2 ]
    Η ανωτέρω έκφραση είναι ψευδής γιατί ο (αριθμητικός) τελεστής -eq σημαίνει ισότητα (equal). Άλλοι αριθμητικοί τελεστές είναι οι:
    1. -gt ο αριθμός αριστερά είναι μεγαλύτερος από τον αριθμό δεξιά (greater than).
    2. -lt ο αριθμός δεξιά είναι μικρότερος από τον αριθμό αριστερά (less than).
    3. -ne οι δύο αριθμοί δεν είναι ίσοι (not equal).
    4. -ge ο αριθμός αριστερά είναι μεγαλύτερος ή ίσος από τον αριθμό δεξιά (greater or equal).
    5. -le ο αριθμός αριστερά είναι μικρότερος ή ίσος από τον αριθμό δεξιά (less or equal).
  • test [ like = likme ]
    Η ανωτέρω έκφραση είναι ψευδής γιατί ο (λογικός) τελεστής = σημαίνει ότι τα δύο strings που συγκρίνουμε είναι ίσα (ίδια). Άλλοι λογικοί τελεστές σχετικοί με strings είναι οι:
    1. != ο οποίος προφανώς επιστρέφει "αληθές" όταν τα δύο strings που συγκρίνουμε είναι ανόμοια.
    2. -z ο οποίος είναι unary operator (συντάσσεται δηλαδή ως εξής: test [ -z string ]) επιστρέφει "αληθές" αν το μήκος του string είναι μηδενικό.
    3. -n που είναι και αυτός unary operator (συντάσσεται δηλαδή ως εξής: test [ -n string ]) επιστρέφει "αληθές" αν το μήκος του string δεν είναι μηδενικό.
  • test [ -e filename ]
    Η ανωτέρω έκφραση βγαίνει αληθής όταν το αρχείο με όνομα filename υπάρχει. Άλλοι τελεστές ελέγχου της κατάστασης ενός αρχείου είναι οι εξής (όλοι όσοι αναφέρονται εδώ είναι unary operators):
    1. -b αν το αρχείο υπάρχει και είναι block device
    2. -c αν το αρχείο υπάρχει και είναι character device
    3. -d αν το αρχείο υπάρχει και είναι directory
    4. -f αν το αρχείο υπάρχει και είναι κανονικό αρχείο
    5. -r αν το αρχείο υπάρχει και μπορεί να διαβαστεί
    6. -s αν το αρχείο υπάρχει και το μέγεθος του δεν είναι μηδέν
    7. -w αν το αρχείο υπάρχει και μπορεί να γραφτεί
    8. -x αν το αρχείο υπάρχει και μπορεί να εκτελεστεί

Επόμενο  Προηγούμενο  Περιεχόμενα


Valid HTML 4.01!   Valid CSS!