Πώς να προσαρμόσετε το κέλυφος Bash με το shopt

Εάν προσαρμόσετε τη συμπεριφορά του κελύφους Bash με το shopt, μπορείτε να ελέγξετε περισσότερες από 50 ρυθμίσεις. Θα σας δείξουμε πώς να προσαρμόσετε το σύστημά σας Linux όπως ακριβώς σας αρέσει.

Το κατάστημα Ενσωματωμένο

Το ενσωματωμένο κατάστημα αποτελεί μέρος όλων των εκδόσεων του Κέλυφος Bash, οπότε δεν χρειάζεται να εγκαταστήσετε τίποτα. Ο αριθμός των διαθέσιμων επιλογών στο shopt έχει αυξηθεί σταθερά με τα χρόνια. Έτσι, όσο παλαιότερη είναι η έκδοση του Bash που έχετε, τόσο πιο σύντομη θα είναι η λίστα των επιλογών shopt.

Εάν κάτι δεν φαίνεται να λειτουργεί στο μηχάνημά σας, ελέγξτε την καταχώριση της σελίδας ανθρώπου για το Bash και βεβαιωθείτε ότι αυτή η επιλογή είναι διαθέσιμη στην έκδοση του shopt.

Καλύπτουμε όλες τις επιλογές καταστήματος παρακάτω. Περιγράφουμε επίσης τον τρόπο χρήσης του και κοινοποιούμε μερικά παραδείγματα. Από εκεί, μπορείτε να δείτε τη σελίδα Man Bash ή Εγχειρίδιο αναφοράς GNU Bash για να δείτε εάν κάποια από αυτές τις επιλογές ακούγεται χρήσιμη ή ελκυστική.

Ορισμένες επιλογές shopt είναι ενεργοποιημένες από προεπιλογή και αποτελούν μέρος της προεπιλεγμένης συμπεριφοράς του Bash. Μπορείτε να ενεργοποιήσετε μια επιλογή shopt ως βραχυπρόθεσμη αλλαγή στο Bash. Στη συνέχεια, θα επανέλθει στην προεπιλεγμένη συμπεριφορά όταν κλείσετε το κέλυφος.

Ωστόσο, εάν θέλετε μια τροποποιημένη συμπεριφορά να είναι διαθέσιμη κάθε φορά που εκκινείτε ένα κέλυφος Bash, μπορείτε να κάνετε τις αλλαγές μόνιμες.

Οι Επιλογές καταστήματος

Υπάρχουν 53 επιλογές καταστημάτων. Εάν χρησιμοποιείτε την εντολή shopt χωρίς επιλογές, τις παραθέτει. Αν διοχετεύσουμε την έξοδο μέσω της εντολής wc, θα γίνει μετρήστε τις γραμμές, τις λέξεις και τους χαρακτήρες για εμάς. Επειδή κάθε επιλογή shopt βρίσκεται στη δική της γραμμή, ο αριθμός των γραμμών είναι ο αριθμός των επιλογών.

Πληκτρολογούμε τα εξής:

shopt | wc

Για να δούμε όλες τις επιλογές, μπορούμε να διοχετεύσουμε την έξοδο μέσω της εντολής στήλης για να εμφανίσετε τα ονόματα των επιλογών σε στήλες, ή θα μπορούσαμε να το διώξουμε σε λιγότερα.

  Πώς να αποκρύψετε φακέλους Gmail από έναν υπολογιστή-πελάτη ηλεκτρονικού ταχυδρομείου επιτραπέζιου υπολογιστή

Πληκτρολογούμε τα εξής:

shopt | column

Εύρεση shop στο Εγχειρίδιο Linux

Η ενότητα που αναφέρεται στο shopt και τις επιλογές του βρίσκεται στην ενότητα Bash του εγχειριδίου Linux. Το τμήμα Bash έχει μήκος πάνω από 6.000 γραμμές. Μπορείτε να βρείτε την περιγραφή του shopt με πολλή κύλιση ή μπορείτε απλώς να την αναζητήσετε στο εγχειρίδιο.

Για να το κάνετε αυτό, ανοίξτε το εγχειρίδιο στην ενότητα Bash:

man bash

Στο εγχειρίδιο, πατήστε / για να ξεκινήσει μια αναζήτηση. Πληκτρολογήστε τα ακόλουθα και, στη συνέχεια, πατήστε Enter:

assoc_expand_once

Η αρχή της ενότητας shoptoption θα εμφανιστεί στο παράθυρο man.

Ρύθμιση και απενεργοποίηση επιλογών

Για να ορίσετε και να καταργήσετε τις επιλογές shopt, χρησιμοποιήστε τις ακόλουθες εντολές:

-s: Ορισμός ή ενεργοποίηση.
-u: Απενεργοποίηση ή απενεργοποίηση.

Επειδή ορισμένες επιλογές είναι ενεργοποιημένες από προεπιλογή, είναι επίσης χρήσιμο να ελέγξετε ποιες επιλογές είναι ενεργοποιημένες. Μπορείτε να το κάνετε με τις επιλογές -s και -u χωρίς να χρησιμοποιήσετε όνομα επιλογής. Αυτό κάνει το shopt να παραθέτει τις επιλογές που είναι ενεργοποιημένες και απενεργοποιημένες.

Πληκτρολογήστε τα εξής:

shopt -s

shopt -u | column

Μπορείτε να χρησιμοποιήσετε μια επιλογή shopt χωρίς τις εντολές -s ή -u για να δείτε την κατάσταση ενεργοποίησης ή απενεργοποίησης για κάθε επιλογή.

Για παράδειγμα, μπορούμε να πληκτρολογήσουμε τα εξής για να ελέγξουμε τη ρύθμιση της επιλογής histverify:

shopt histverify

Μπορούμε να πληκτρολογήσουμε τα εξής για να το ρυθμίσουμε:

shopt -s histverify

Στη συνέχεια, μπορούμε να πληκτρολογήσουμε τα εξής για να το ελέγξουμε ξανά:

shopt histverify

Η επιλογή histverify αλλάζει τον τρόπο λειτουργίας μιας πτυχής της εντολής ιστορικού. Συνήθως, εάν ζητήσετε από το ιστορικό να επαναλάβει μια εντολή αναφέροντάς της με αριθμό, όπως !245, η εντολή ανακτάται από το ιστορικό εντολών και εκτελείται αμέσως.

Εάν προτιμάτε να ελέγξετε μια εντολή για να βεβαιωθείτε ότι είναι αυτή που περιμένατε και να την επεξεργαστείτε, εάν είναι απαραίτητο, πληκτρολογήστε τα παρακάτω για να ενεργοποιήσετε την επιλογή shopt histverify:

!245

Η εντολή ανακτάται και παρουσιάζεται στη γραμμή εντολών. Μπορείτε είτε να το διαγράψετε, να το επεξεργαστείτε ή να το εκτελέσετε πατώντας Enter.

  Όλα όσα πρέπει να γνωρίζετε για την προσφορά αντικατάστασης μπαταρίας iPhone της Apple

Η επιλογή autocd

Με την επιλογή autocd ενεργοποιημένη, εάν πληκτρολογήσετε το όνομα ενός καταλόγου στη γραμμή εντολών και πατήσετε Enter, θα αντιμετωπιστεί σαν να έχετε πληκτρολογήσει cd μπροστά του.

Πληκτρολογούμε τα εξής για να ενεργοποιήσουμε την επιλογή autocd:

shopt -s autocd

Στη συνέχεια, πληκτρολογούμε το όνομα ενός καταλόγου:

Documents

Η επιλογή cdspell

Όταν είναι ενεργοποιημένη η επιλογή cdspell, το Bash θα διορθώσει αυτόματα απλά ορθογραφικά λάθη και τυπογραφικά λάθη στα ονόματα των καταλόγων.

Πληκτρολογούμε τα εξής για να ορίσουμε την επιλογή cdspell:

shopt -s cdspell

Για να προσπαθήσουμε να αλλάξουμε σε έναν κατάλογο με πεζά που θα πρέπει να έχει ένα κεφαλαίο αρχικό γράμμα, πληκτρολογούμε τα εξής:

cd documents

Στη συνέχεια, μπορούμε να πληκτρολογήσουμε τα εξής για να δοκιμάσουμε ένα όνομα καταλόγου με ένα επιπλέον “t” στο όνομά του:

cd ../Picttures

Το Bash αλλάζει σε κάθε κατάλογο, ανεξάρτητα από τα ορθογραφικά λάθη.

Η επιλογή xpg_echo

Όταν η επιλογή xpg_echo είναι ενεργοποιημένη, η εντολή echo θα υπακούει σε χαρακτήρες διαφυγής, όπως n για νέα γραμμή και t για οριζόντια καρτέλα.

Αρχικά, πληκτρολογούμε τα εξής για να βεβαιωθούμε ότι έχει οριστεί η επιλογή:

shopt -s xpg_echo

Στη συνέχεια, συμπεριλαμβάνουμε το n σε μια συμβολοσειρά που θα περάσουμε στην ηχώ:

echo "This is line onenThis is line two"

Ο χαρακτήρας νέας γραμμής διαφυγής αναγκάζει μια αλλαγή γραμμής στην έξοδο.

Αυτό παράγει την ίδια συμπεριφορά με το -e (ενεργοποιήστε την ερμηνεία διαφυγής) επιλογή echo, αλλά το xpg_echo επιτρέπει να είναι η προεπιλεγμένη ενέργεια.

Η επιλογή dotglob

Η επιλογή dotglob πρέπει να αντιμετωπίζεται με λίγη προσοχή. Επιτρέπει τα αρχεία και τους καταλόγους που ξεκινούν με τελεία (.) να συμπεριληφθούν σε επεκτάσεις ονομάτων ή “globbing”. Αυτά ονομάζονται «αρχεία κουκκίδων» ή «κατάλογοι κουκκίδων» και συνήθως είναι κρυφά. Η επιλογή dotglob αγνοεί την τελεία στην αρχή των ονομάτων τους.

Αρχικά, θα κάνουμε μια αναζήτηση για αρχεία ή καταλόγους που τελειώνουν σε “geek” πληκτρολογώντας τα εξής:

ls *geek

Βρέθηκε και παρατίθεται ένα αρχείο. Στη συνέχεια, θα ενεργοποιήσουμε την επιλογή dotglob πληκτρολογώντας τα εξής:

shopt -s dotglob

Εκδίδουμε την ίδια εντολή ls για να αναζητήσουμε αρχεία και καταλόγους που τελειώνουν σε “geek”:

ls *geek

Αυτή τη φορά βρίσκονται και παρατίθενται δύο αρχεία, το ένα εκ των οποίων είναι αρχείο κουκκίδων. Πρέπει να είστε προσεκτικοί με τα rm και mv όταν έχετε ενεργοποιήσει την επιλογή dotglob.

  Πώς να αλλάξετε το προσωπικό σας αναγνωριστικό σύσκεψης (PMI) στο Zoom

Η επιλογή nocaseglob

Η επιλογή nocaseglob είναι παρόμοια με την επιλογή dotglob, εκτός από το ότι το nocaseglob προκαλεί τις διαφορές στα κεφαλαία και πεζά γράμματα στα ονόματα αρχείων και στους καταλόγους που αγνοούνται στις επεκτάσεις ονομάτων.

Πληκτρολογούμε τα ακόλουθα για να αναζητήσουμε αρχεία ή καταλόγους που ξεκινούν με “πώς”:

ls how*

Βρέθηκε και παρατίθεται ένα αρχείο. Πληκτρολογούμε τα εξής για να ενεργοποιήσουμε την επιλογή nocaseglob:

shopt -s nocaseglob

Στη συνέχεια, επαναλαμβάνουμε την εντολή ls:

ls how*

Βρέθηκαν δύο αρχεία, το ένα από τα οποία περιέχει κεφαλαία γράμματα.

Κάνοντας τις Αλλαγές Μόνιμες

Οι αλλαγές που κάναμε θα διαρκέσουν μόνο μέχρι να κλείσουμε το τρέχον κέλυφος του Bash. Για να τα κάνουμε μόνιμα σε διαφορετικές περιόδους λειτουργίας κελύφους, πρέπει να τα προσθέσουμε στο αρχείο μας “.bashrc”.

Στον αρχικό σας κατάλογο, πληκτρολογήστε την ακόλουθη εντολή για να ανοίξετε το αρχείο “.bashrc” στο γραφικό πρόγραμμα επεξεργασίας κειμένου Gedit (ή αλλάξτε το ανάλογα για να χρησιμοποιήσετε τον επεξεργαστή που προτιμάτε):

gedit .bashrc

Το πρόγραμμα επεξεργασίας gedit θα ανοίξει με φορτωμένο το αρχείο “.bashrc”. Θα δείτε ότι υπάρχουν ήδη κάποιες καταχωρίσεις στο κατάστημα.

Μπορείτε επίσης να προσθέσετε τις δικές σας επιλογές καταστήματος εδώ. Όταν τις προσθέσετε, αποθηκεύστε τις αλλαγές σας και κλείστε το πρόγραμμα επεξεργασίας. Τώρα, κάθε φορά που ανοίγετε ένα νέο κέλυφος Bash, οι επιλογές σας θα ρυθμιστούν για εσάς.

Επιλογές μέχρι εκεί που μπορεί να δει το μάτι

Είναι αλήθεια ότι η εντολή shopt έχει πολλές επιλογές, αλλά δεν χρειάζεται να τις αντιμετωπίσετε όλες ταυτόχρονα, αν ποτέ. Δεδομένου ότι υπάρχουν τόσα πολλά, είναι πιθανό να υπάρχουν μερικά που δεν θα σας ενδιαφέρουν.

Για παράδειγμα, υπάρχει μια δέσμη που αναγκάζει το Bash να λειτουργεί με τρόπους που είναι συμβατοί με συγκεκριμένες, παλαιότερες εκδόσεις. Αυτό μπορεί να είναι χρήσιμο για κάποιον, αλλά είναι μια αρκετά εξειδικευμένη περίπτωση.

Μπορείτε να αναθεωρήσετε το Bash σελίδα ανθρώπου ή Εγχειρίδιο αναφοράς GNU Bash. Αποφασίστε ποιες επιλογές θα κάνουν τη διαφορά για εσάς και, στη συνέχεια, πειραματιστείτε με αυτές. Απλώς να είστε προσεκτικοί με τις επιλογές που επηρεάζουν τον τρόπο επέκτασης των ονομάτων αρχείων και καταλόγων. Δοκιμάστε τα με μια καλοήθη εντολή, όπως το ls, μέχρι να νιώσετε άνετα μαζί τους.