Δημοσιεύτηκε: 07 Δεκ 2011, 21:28
natsu έγραψε:Χρησιμοποιώ Bash σε Ubuntu 11.10
Έχω φτιάξει ένα script το οποίο διαβάζει ονόματα από ένα αρχείο .txt και με βάση αυτά τα ονόματα δημιουργεί νέους χρήστες. Το αρχείο αυτό βρίσκεται στον ίδιο φάκελο με το script.
Θα ήθελα να μάθω πως να βρίσκει αυτόματα το αρχείο .txt σε περίπτωση που βρίσκεται σε ενα USB Drive και να μη χρειαστεί να το βάλουμε στον ίδιο φάκελο που βρίσκεται και το script.
Το όνομα του αρχείου είναι προκαθορισμένο (names.txt)
Από τη στιγμή που το αρχείο με τους χρήστες βρίσκεται στον ίδιο κατάλογο με το πρόγραμμα εντολών (script),
μπορείς να διαβάσεις την τη μεταβλητή $BASH_SOURCE όπου περιλαμβάνει τη διαδρομή του προγράμματος εντολών.
Έπειτα, με
- Κώδικας: Επιλογή όλων
MYDATADIR=`dirname "${BASH_SOURCE[0]}"`
βγάζεις το όνομα του καταλόγου.
Οπότε το names.txt είναι το "${MYDATADIR}/names.txt".
Στις δοκιμές σου έλεγξε ώστε το πρόγραμμα εντολών να λειτουργεί ακόμα και όταν το $MYDATADIR περιλαμβάνει διαστήματα.
Μπορείς ακόμα να ενεργοποιήσεις το autorun οπότε όταν βάζεις κάποιος το στικάκι σε Ubuntu να εμφανίζεται μενού που να προτρέπει για τις επόμενες ενέργειες.