Απλός χειρισμός Bash: Μεταβλητές
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 Πληροφορίες Συντάκτες Αναζήτηση Επικοινωνία
Επόμενο Περιεχόμενα ### 1. Μεταβλητές Οι μεταβλητές (βασικό στοιχείο σε κάθε πρόγραμμα) στο bash δεν είναι προκαθορισμένου τύπου, μπορεί δηλαδή η ίδια μεταβλητή να έχει αριθμητική τιμή, ή τιμή κειμένου (string) κλπ χωρίς να το προδηλώσουμε πουθενά (αν και για το bash όλες οι μεταβλητές είναι strings, με την χρήση της eval μπορούμε να κάνουμε και αριθμητικές πράξεις αν τα strings αποτελούνται μόνο από αριθμούς). Οι μεταβλητές ορίζονται με απλή τοποθέτηση (assignment, π.χ. var=1) και προσπελαύνονται βάζοντας μπροστά από το όνομά τους το σύμβολο $. Αν η τιμή μίας μεταβλητής εσωκλείεται σε διπλά εισαγωγικά "", τότε το bash αγνοεί οποιαδήποτε κενά βρίσκονται εκεί. Αν δεν τα αγνοούσε, η τιμή της μεταβλητής θα ήταν οτιδήποτε υπάρχει μέχρι το πρώτο κενό. Ότι ήταν μετά το κενό θα θεωρούνταν ως τιμή της δεύτερης μεταβλητής, κάτι το οποίο έχει ιδιαίτερο νόημα για παραμέτρους που δίνονται από την γραμμή εντολών κατά την κλήση του προγράμματος. Αν εσωκλείεται σε ανάποδα μονά εισαγωγικά `, τότε εννοείται ότι πρόκειται περί εντολής, η οποία θα εκτελεστεί και το αποτέλεσμα της εντολής θα αποτελεί την τιμή της μεταβλητής. Το bash χρησιμοποιεί κάποιες προκαθορισμένες μεταβλητές για τα διάφορα "προγραμματάκια" που μπορούμε να φτιάξουμε. Αυτές είναι οι: $# Ο αριθμός των παραμέτρων που δώσαμε στην γραμμή εντολών. $0 Η πρώτη λέξη της κληθείσας εντολής (πρακτικά δηλαδή το όνομα του προγράμματος). $1 - $N Οι παράμετροι που δώσαμε στην γραμμή εντολών (όπου $1 η πρώτη παράμετρος, και N ίσο με το $#). $@ Φυλάσσει το σύνολο των παραμέτρων της γραμμής εντολών (δηλαδή από $1 μέχρι $N όπως ακριβώς τις γράψαμε.) σε μορφή πίνακα (array). $* Φυλάσσει το σύνολο των παραμέτρων της γραμμής εντολών (δηλαδή από $1 μέχρι $N όπως ακριβώς τις γράψαμε) σε μία μεταβλητή (μία και μόνη, τύπου string). $? Σε αυτή τη μεταβλητή φυλάσσεται το αποτέλεσμα εξόδου της προηγούμενης εντολής. Επόμενο Περιεχόμενα