Η επέκταση αγκυλών είναι μια χρήσιμη τεχνική για να δημιουργήσετε λίστες των χορδών που μπορεί να χρησιμοποιηθεί σε σενάρια και ψευδώνυμα και στη γραμμή εντολών του Linux. Εξοικονομήστε χρόνο και να αποφύγει τα λάθη πληκτρολογώντας λιγότερο.
Brace Επέκταση
Πριν από την κέλυφος Bash εκτελεί μια εντολή σε ένα τερματικό παράθυρο ή μια γραμμή σε ένα σενάριο, ελέγχει κατά πόσο χρειάζεται να εκτελέσει οποιαδήποτε αντικαταστάσεις στην εντολή. Τα ονόματα των μεταβλητών αντικαθίστανται από τις αξίες τους, τα ψευδώνυμα αντικαθίστανται από τις εντολές που στενογραφία είστε για, και κάθε επέκταση γίνεται. Η επέκταση αγκυλών είναι μια μορφή επέκτασης που υποστηρίζεται από το Bash.
Η επέκταση αγκυλών είναι διαθέσιμη σε μοντέρνα καλύμματα, αλλά θα μπορούσε να λείπει από κάποια παλιά κελύφη. Αν πρόκειται να χρησιμοποιήσετε την επέκταση στήριγμα σε σενάρια, βεβαιωθείτε ότι έχετε επικαλούνται ένα κέλυφος ότι η επέκταση υποστηρίζει κηδεμόνα, όπως Bash:
Θα είμαστε με το Bash για τα παραδείγματα μας.
Δημιουργία λίστας των χορδών μπορεί να φαίνεται περισσότερο από μια καινοτομία από ό, τι ένα πλεονέκτημα, αλλά δεν προσφέρει κάποια λειτουργικότητα που μπορεί να εξοικονομήσει χρόνο και πληκτρολόγηση. Συχνά, μπορεί να προσφέρει μια απλή και κομψή λύση σε ένα πρόβλημα ή απαίτηση.
Απλή Επεκτάσεις
Μια επέκταση αγκυλών περιέχεται μεταξύ ενός ζεύγους στηριγμάτων «{}». Μπορεί να είναι μια λίστα των στοιχείων διαχωρισμένες με κόμμα ή ένα προσδιοριστικό σειρά. Δεν επιτρέπονται τα κενά μέσα στα άγκιστρα αν δεν έχετε τυλιγμένο το string σε εισαγωγικά «
"
. "
Για μια λίστα διαχωρισμένη με κόμματα, η διαδικασία διαστολής λαμβάνει κάθε στοιχείο με τη σειρά του και το μεταδίδει στην εντολή κλήσης. Σε αυτό το παράδειγμα, είναι
ηχώ
ότι απλά
τις εκτυπώνει στο παράθυρο τερματικού
. Σημειώστε ότι τα κόμματα αγνοούνται.
ηχώ {ένα, δύο, τρία, τέσσερα}
Μια λίστα μπορεί να είναι λέξεις ή ψηφία.
ηχούς {1,2,3,4}
Η σειρά των στοιχείων λίστας είναι εντελώς αυθαίρετη.
echo (4,2,3,1)
Ένα εύρος διαστολής έχει μια αρχή και ένα τέλος χαρακτήρα που συνδέονται με δύο περιόδους»
..
»Χωρίς κενά. Όλα τα ελλείποντα στοιχεία λίστας παρέχονται αυτόματα από την επέκταση, ώστε να δημιουργείται όλο το φάσμα από τον χαρακτήρα την αρχή μέχρι το τέλος του χαρακτήρα.
Αυτό θα εκτυπώσει τα ψηφία 1 έως 10.
ηχούς {1..10}
Η αρίθμηση είναι αυθαίρετη. Δεν πρέπει να αρχίσει σε ένα.
ηχούς {3..12}
Σειρές μπορεί να καθοριστεί έτσι ώστε να τρέχουν προς τα πίσω. Αυτό θα δημιουργήσει μια λίστα από πέντε κάτω σε ένα.
ηχούς {5..1}
Σειρές μπορεί να περιλαμβάνει αρνητικούς αριθμούς.
ηχούς {4 ..- 4}
Όπως έχουμε επισημάνει στο παρελθόν, μια σειρά έχει μια αρχή και ένα τέλος χαρακτήρας . Δεν χρειάζεται να είναι ένας αριθμός. Μπορεί να είναι ένα γράμμα.
ηχούς {q..v}
Τα γράμματα μπορεί να τρέξει προς τα πίσω, πάρα πολύ.
ηχούς {f..a}
Χρησιμοποιώντας Brace Επέκταση με θηλιές
Μπορείτε να χρησιμοποιήσετε την επέκταση στήριγμα με σειρές σε βρόχους σε σενάρια.
για το i στο {3..7}
κάνω
echo $ i
γίνεται
περιοχές επέκτασης Brace σας αφήσει να χρησιμοποιήσετε χαρακτήρες ως μεταβλητή βρόχου.
για το i στο {m..q}
κάνω
echo $ i
γίνεται
Οι βρόχοι χρησιμοποιούνται συνήθως σε σενάρια, αλλά δεν υπάρχει τίποτα για να σας εμποδίσει από την πληκτρολόγηση τους στη γραμμή εντολών για να δούμε τι θα συμβεί.
για το i στο {3..7}? κάνει echo $ i? γίνεται
για το i στο {m..q}? κάνει echo $ i? γίνεται
Συνένωση και ένθεση
Δύο παρακείμενα επεκτάσεις δεν δρουν ανεξάρτητα το ένα μετά το άλλο. Συνεργάζονται μεταξύ τους. Κάθε στοιχείο στην πρώτη επέκταση ενεργοποιείται από κάθε στοιχείο στη δεύτερη επέκταση.
ηχούς {q..v} {1..3}
Επεκτάσεις μπορούν επίσης να είναι ένθετες. Μια ένθετη επέκταση θα ενεργεί επί του στοιχείου αμέσως προηγούμενη.
echo {μέρος-1, μέρος-2 {a, b, c, d}, μέρος-3}
Μπορείτε επίσης να φωλιάζουν επεκτάσεις, δημιουργώντας ένα οριοθετημένο με κόμματα λίστα των επεκτάσεων σειράς.
ηχούς {{5..0}, {1..5}}
Προοίμιο και Υστερόγραφο
Μπορείτε να τοποθετήσετε το κείμενο πριν και μετά την επέκταση στήριγμα για να έχει αυτό το κείμενο περιλαμβάνονται στα αποτελέσματα της επέκτασης. Κείμενο βάλουμε μπροστά από την επέκταση ονομάζεται το προοίμιο, ενώ κειμένου που τοποθετούνται πίσω από μια επέκταση στήριγμα ονομάζεται το υστερόγραφο.
Αυτή η εντολή χρησιμοποιεί ένα προοίμιο.
κεφάλαιο ηχούς {1..3}
Αυτό το παράδειγμα χρησιμοποιεί ένα υστερόγραφο:
echo {περιεχόμενα, χαρτί, bilbiography} .md
Και αυτή η εντολή χρησιμοποιεί και τα δύο.
ηχούς ΚΕΦΑΛΑΙΙΟ {1..4} .md
Επέκταση ονομάτων αρχείων και κατάλογοι
Όπως έχετε πιθανώς μαντέψει από τώρα, μια από τις κύριες χρήσεις των επεκτάσεων στήριγμα είναι η δημιουργία ονομάτων αρχείων και καταλόγων που μπορεί να περάσει σε άλλες εντολές. Έχουμε χρησιμοποιήσει
ηχώ
ως ένα βολικό τρόπο για να δούμε ακριβώς τι συμβαίνει όταν μια επέκταση ενεργοποιείται. Μπορείτε να αντικαταστήσετε οποιαδήποτε εντολή που παίρνει ονόματα ή ονόματα κατάλογο με επέκταση είσοδο και χρήση τιράντες με αυτό.
Για γρήγορη
δημιουργήσει κάποια αρχεία
, χρήση
αφή
:
Αρχείο- αφής {1..4} .txt
ls * .txt
Αν έχετε πολλά αρχεία με το ίδιο όνομα βάσης, αλλά διαφορετικές επεκτάσεις αρχείων και θέλετε να εκτελέσετε μια λειτουργία σε ένα υποσύνολο αυτών, επεκτάσεις στήριγμα μπορεί να βοηθήσει. Εδώ, είμαστε συμπίεση ένα υποσύνολο των αρχείων που έχουν «πρόγραμμα», όπως το basename σε ένα αρχείο ZIP που ονομάζεται «source-code.zip.»
Ανάπτυξη κατάλογοι περιέχουν πολλά αρχεία που θα έχουν την ίδια βάση ονόματος ως κύριο πρόγραμμά σας. Συνήθως, δεν θέλετε να δημιουργήσετε αντίγραφα ασφαλείας ή να διανείμετε αρχεία, όπως «.Ο» αρχεία αντικείμενο. Αυτό είναι ένα τακτοποιημένο τρόπο ώστε να περιλαμβάνει μόνο τους τύπους αρχείων που ενδιαφέρουν.
πρόγραμμα zip πηγαίο κώδικα {.c, .h, .css}
Αυτή η εντολή θα κάνει ένα αντίγραφο ενός αρχείου και προσάρτησης «.bak» σε αυτό, κάνοντας ένα αντίγραφο ασφαλείας του αρχικού αρχείου. Ένα ενδιαφέρον σημείο πρέπει να σημειωθεί είναι ότι η επέκταση στήριγμα περιέχει μια λίστα διαχωρισμένη με κόμμα, αλλά το πρώτο στοιχείο είναι άδειο. Αν δεν είχε συμπεριλάβει το κόμμα, η επέκταση δεν θα είχε πραγματοποιηθεί.
cp τιράντες / νέα / prog-1.γ {,. Bak}
ls τιράντες / νέα / prog-1.c.bak
Για να εκτελέσετε κάποια ενέργεια σε δύο αρχεία σε διαφορετικούς καταλόγους, μπορούμε να χρησιμοποιήσουμε μια επέκταση στήριγμα στη διαδρομή για τα αρχεία.
Σε αυτό το παράδειγμα, το «στήριγμα» κατάλογος περιέχει δύο υποκαταλόγους, μία που ονομάζεται «νέο» και ένα που ονομάζεται «παλιά». Περιέχουν διαφορετικές εκδόσεις του ίδιου συνόλου των αρχείων πηγαίου κώδικα. Θα χρησιμοποιήσουμε το
diff
προγραμματισμό για να δείτε τις διαφορές μεταξύ των δύο εκδόσεων του «prog-1.γ.»
ΔΠ τιράντες / {νέο, παλιό} /prog-1.c
Εάν έχετε ένα πρότυπο σκελετό των καταλόγων που χρειάζεστε για να δημιουργήσετε κατά την έναρξη του έργου, μπορείτε να δημιουργήσετε γρήγορα χρησιμοποιώντας την επέκταση τιράντες. ο
mkdir
-Π
(Μητρική) επιλογή
δημιουργεί κανένα λείπει μητρική τους καταλόγους
όταν ένας κατάλογος παιδί δημιουργείται.
mkdir -p {πηγή, την κατασκευή, τον άνθρωπο, βοήθεια {/ σελίδων, / Yelp, / εικόνες}}
δέντρο
Μπορείτε να χρησιμοποιήσετε την επέκταση τιράντες με
wget
προς το
λήψη πολλαπλών αρχείων
.
Σε αυτήν την εντολή, θα πάμε για να κατεβάσετε αρχεία από δύο καταλόγους, που ονομάζεται «test1» και «test2». Κάθε κατάλογος κατέχει δύο αρχεία που ονομάζεται «picture1» και «picture2.»
wget https://www.URL-of-your-choice.com/test{1,2}/picture{001,002}.jpg
Λίστα των αρχείων σας δείχνει τα αρχεία που ανακτήθηκαν και πώς
wget
μετονομάζει τα αρχεία για να αποφύγετε συγκρούσεις όνομα με τα υπάρχοντα αρχεία.
ls εικόνα *. *
Αγκαλιάστε το Brace
Φαίνεται ότι η επέκταση αγκυλών είναι άλλο ένα από καλύτερα φυλαγμένα μυστικά του Linux . Πολλοί άνθρωποι μου λένε ότι ποτέ δεν έχω ακούσει για την επέκταση τιράντες, ενώ άλλοι να με ενημερώσει ότι είναι ένα από τα αγαπημένα κόλπα γραμμής εντολών τους.
Δοκιμάστε το και αυτό ακριβώς μπορεί να βρει το δρόμο της στο σύνολο σας γραμμής εντολών go-to κόλπα.