Jak dostosować powłokę Bash za pomocą shopt

Opublikowany: 2022-01-29
Monit terminala na laptopie z systemem Linux.
Fatmawati Achmad Zaenuri/Shutterstock

Jeśli dostosujesz zachowanie powłoki Bash za pomocą shopt , możesz kontrolować ponad 50 ustawień. Pokażemy Ci, jak dostosować system Linux tak, jak lubisz.

Sklep do zabudowy

Wbudowany shopt jest częścią wszystkich wersji powłoki Bash, więc nie ma potrzeby niczego instalować. Liczba opcji dostępnych w shopt stale rosła na przestrzeni lat. Tak więc im starszą wersję Bash posiadasz, tym krótsza będzie lista opcji shopt .

Jeśli coś man działa na twoim komputerze, sprawdź wpis na stronie podręcznika Bash i upewnij się, że opcja jest dostępna w twojej wersji shopt .

Poniżej shopt wszystkie opcje zakupów. Opisujemy również, jak z niego korzystać i udostępniamy kilka przykładów. Stamtąd możesz sprawdzić stronę podręcznika Bash lub podręcznik GNU Bash Reference Manual, aby sprawdzić, czy którakolwiek z tych opcji brzmi użyteczna lub atrakcyjna.

Niektóre opcje shopt są domyślnie włączone i stanowią część domyślnego zachowania Bash. Możesz włączyć opcję shopt jako krótkoterminową zmianę w Bash. Następnie powróci do domyślnego zachowania po zamknięciu powłoki.

Reklama

Jeśli jednak chcesz, aby zmodyfikowane zachowanie było dostępne za każdym razem, gdy uruchamiasz powłokę Bash, możesz wprowadzić zmiany na stałe.

Opcje sklepu

Dostępne są 53 opcje shopt . Jeśli używasz polecenia shopt bez żadnych opcji, wyświetla je. Jeśli prześlemy dane wyjściowe przez polecenie wc , zliczy za nas linie, słowa i znaki. Ponieważ każda opcja shopt znajduje się w osobnej linii, liczba linii to liczba opcji.

Wpisujemy:

 sklep | toaleta 

Aby zobaczyć wszystkie opcje, możemy przekazać dane wyjściowe przez polecenie column , aby wyświetlić nazwy opcji w kolumnach, lub możemy je przekazać do less .

Wpisujemy:

 sklep | kolumna 

Wyszukiwanie sklepu w podręczniku Linux

Sekcja omawiająca shopt i jego opcje znajduje się w sekcji Bash podręcznika Linux. Sekcja Bash ma ponad 6000 linii. Możesz znaleźć opis shopt z dużą ilością przewijania lub możesz po prostu wyszukać go w instrukcji.

Aby to zrobić, otwórz podręcznik w sekcji Bash:

 człowiek bash 

Reklama

W instrukcji naciśnij / , aby rozpocząć wyszukiwanie. Wpisz następujące polecenie, a następnie naciśnij klawisz Enter:

 assoc_expand_once 

Początek sekcji opcji shopt pojawi się w oknie man .

POWIĄZANE: Jak korzystać z polecenia man Linuksa: Ukryte tajemnice i podstawy

Opcje ustawień i rozbrojenia

Aby ustawić i wyłączyć opcje shopt , użyj następujących poleceń:

  • -s : Ustaw lub włącz.
  • -u : Wyłącz lub wyłącz.

Ponieważ niektóre opcje są domyślnie włączone, warto również sprawdzić, które opcje są włączone. Możesz to zrobić za pomocą opcji -s i -u bez używania nazwy opcji. Powoduje to, że shopt wyświetla listę opcji, które są włączone i wyłączone.

Wpisz następujące polecenie:

 sklep-s 

 shopt-u | kolumna 

Możesz użyć opcji shopt bez poleceń -s lub -u , aby zobaczyć stan włączenia lub wyłączenia dla każdej opcji.

Na przykład możemy wpisać następujące polecenie, aby sprawdzić ustawienie opcji histverify :

 kup histweryfikuj

Aby go włączyć, możemy wpisać następujące polecenie:

 shopt -s histweryfikacja
Reklama

Następnie możemy wpisać następujące polecenie, aby to sprawdzić ponownie:

 kup histweryfikuj 

Opcja histverify zmienia sposób działania jednego aspektu polecenia history . Zwykle, jeśli poprosisz history o powtórzenie polecenia, odwołując się do niego za pomocą numeru, na przykład !245 , polecenie jest pobierane z historii poleceń i wykonywane natychmiast.

Jeśli wolisz przejrzeć polecenie, aby upewnić się, że jest zgodne z oczekiwaniami i w razie potrzeby je edytować, wpisz następujące polecenie, aby włączyć opcję shopt histverify :

 !245 

Polecenie jest pobierane i prezentowane w wierszu poleceń. Możesz go usunąć, edytować lub wykonać, naciskając klawisz Enter.

POWIĄZANE: Jak korzystać z polecenia historii w systemie Linux

Opcja autocd

Przy włączonej opcji autocd , jeśli wpiszesz nazwę katalogu w wierszu poleceń i naciśniesz Enter, zostanie on potraktowany tak, jakbyś wpisał przed nim cd .

Aby włączyć opcję autocd , wpisujemy następujące polecenie:

 shopt -s autocd

Następnie wpisujemy nazwę katalogu:

 Dokumenty 

Opcja cdspell

Gdy opcja cdspell jest włączona, Bash automatycznie poprawi proste błędy ortograficzne i literówki w nazwach katalogów.

Aby ustawić opcję cdspell , wpisujemy następujące polecenie:

 shopt -s cdspell
Reklama

Aby spróbować zmienić katalog pisany małą literą, który powinien mieć początkową literę z wielkiej litery, wpisujemy:

 dokumenty cd

Następnie możemy wpisać następujące polecenie, aby wypróbować nazwę katalogu z dodatkowym „t” w nazwie:

 cd ../Zdjęcia 

Bash zmienia się w każdym katalogu, niezależnie od błędów ortograficznych.

Opcja xpg_echo

Gdy opcja xpg_echo jest włączona, polecenie echo będzie przestrzegać znaków ucieczki, takich jak \n dla nowej linii i \t dla poziomej tabulatora.

Najpierw wpisujemy następujące polecenie, aby upewnić się, że opcja jest ustawiona:

 shopt -s xpg_echo
Reklama

Następnie dołączamy \n do ciągu, który przekażemy do echo :

 echo "To jest wiersz pierwszy\nTo jest wiersz drugi" 

Znak nowego wiersza, który został zmieniony, wymusza złamanie wiersza w danych wyjściowych.

Daje to takie samo zachowanie, jak opcja echo -e (włącz interpretację ucieczki), ale xpg_echo pozwala, aby była to akcja domyślna.

POWIĄZANE: Jak korzystać z polecenia Echo w systemie Linux

Opcja dotglob

Opcję dotglob należy traktować z pewną ostrożnością. Umożliwia uwzględnienie plików i katalogów, które zaczynają się od kropki ( . ), w rozszerzeniach nazw lub „globbingu”. Są to tak zwane „pliki z kropkami” lub „katalogi z kropkami” i zazwyczaj są one ukryte. Opcja dotglob ignoruje kropkę na początku ich nazw.

Najpierw wyszukamy pliki lub katalogi, które kończą się na „geek”, wpisując:

 ls *maniak

Jeden plik został znaleziony i wyświetlony. Następnie włączymy opcję dotglob , wpisując:

 shopt -s dotglob
Reklama

Wydajemy to samo polecenie ls , aby wyszukać pliki i katalogi kończące się na „geek”:

 ls *maniak 

Tym razem znaleziono i wymieniono dwa pliki, z których jeden jest plikiem z kropkami. Musisz być ostrożny z rm i mv , gdy masz włączoną opcję dotglob .

Opcja nocaseglob

Opcja nocaseglob jest podobna do opcji dotglob , z wyjątkiem tego, że nocaseglob powoduje, że różnice w dużych i małych literach w nazwach plików i katalogach są ignorowane w rozwijaniu nazw.

Wpisujemy następujące polecenie, aby wyszukać pliki lub katalogi, które zaczynają się od „jak”:

 Jak*

Jeden plik został znaleziony i wyświetlony. Aby włączyć opcję nocaseglob , wpisujemy następujące polecenie:

 shopt -s nocaseglob

Następnie powtarzamy polecenie ls :

 Jak* 

Znaleziono dwa pliki, z których jeden zawiera wielkie litery.

Dokonywanie zmian na stałe

Wprowadzone przez nas zmiany będą obowiązywać tylko do momentu zamknięcia obecnej powłoki Bash. Aby były trwałe w różnych sesjach powłoki, musimy dodać je do naszego pliku „.bashrc”.

Reklama

W swoim katalogu domowym wpisz następujące polecenie, aby otworzyć plik „.bashrc” w graficznym edytorze tekstu Gedit (lub zmień go odpowiednio, aby użyć preferowanego edytora):

 gedit .bashrc

Edytor gedit otworzy się z załadowanym plikiem „.bashrc”. Zobaczysz, że niektóre wpisy shopt są już w nim.

Edytor gedit z załadowanym .bashrc i podświetlonymi opcjami shopt.

Tutaj również możesz dodać własne opcje shopt . Po ich dodaniu zapisz zmiany i zamknij edytor. Teraz, za każdym razem, gdy otworzysz nową powłokę Bash, twoje opcje zostaną ustawione dla ciebie.

Opcje jak okiem sięgnąć

To prawda, że ​​polecenie shopt ma wiele opcji, ale nie musisz zajmować się nimi wszystkimi naraz, jeśli w ogóle. Ponieważ jest ich tak wiele, prawdopodobnie są takie, które Cię nie interesują.

Na przykład istnieje wiele, które zmuszają Bash do działania w sposób zgodny z określonymi, starszymi wersjami. To może być dla kogoś przydatne, ale to dość niszowy przypadek.

Reklama

Możesz przejrzeć stronę man Basha lub podręcznik GNU Bash Reference Manual. Zdecyduj, które opcje będą dla ciebie ważne, a następnie poeksperymentuj z nimi. Uważaj tylko na opcje, które wpływają na sposób rozwijania nazw plików i katalogów. Wypróbuj je z łagodnym poleceniem, takim jak ls , dopóki nie poczujesz się z nimi komfortowo.