Hoe de Bash Shell aan te passen met shopt

Een terminalprompt op een Linux-laptop.
Fatmawati Achmad Zaenuri / Shutterstock

Als je het gedrag van je Bash-shell afstemt met shopt, kunt u meer dan 50 instellingen beheren. We laten u zien hoe u uw Linux-systeem kunt aanpassen zoals u het wilt.

De shopt ingebouwd

De shopt ingebouwd maakt deel uit van alle versies van de Bash-shell, dus u hoeft niets te installeren. Het aantal beschikbare opties in shopt is in de loop der jaren gestaag toegenomen. Dus hoe ouder de versie van Bash die u heeft, hoe korter de lijst met shopt opties zullen zijn.

Als iets niet lijkt te werken op uw machine, controleer dan het man pagina-invoer voor Bash en controleer of die optie beschikbaar is in uw versie van shopt.

We behandelen alle shopt opties hieronder. We beschrijven ook hoe u het kunt gebruiken en delen enkele voorbeelden. Van daaruit kun je de Bash man-pagina of GNU Bash Reference Manual bekijken om te zien of een van deze opties nuttig of aantrekkelijk klinkt.

Sommige shopt opties zijn standaard ingeschakeld en maken deel uit van het standaardgedrag van Bash. U kunt een shopt optie als een korte termijn wijziging in Bash. Het keert dan terug naar het standaardgedrag wanneer u de shell sluit.

Als u echter wilt dat een aangepast gedrag beschikbaar is wanneer u een Bash-shell start, kunt u de wijzigingen permanent maken.

De winkel Opties

Er zijn 53 shopt opties. Als u de shopt commando zonder enige opties, het geeft deze weer. Als we de uitvoer door de wc commando, zal het de regels, woorden en karakters voor ons tellen. Omdat elk shopt optie staat op een eigen regel, het aantal regels is het aantal opties.

We typen het volgende:

shopt | wc

winkel |  wc in een terminalvenster.

Om alle opties te zien, kunnen we de uitvoer door de column commando om de optienamen in kolommen weer te geven, of we zouden het naar less.

We typen het volgende:

shopt | column

winkel |  kolom in een terminalvenster.

Shopt vinden in de Linux-handleiding

De sectie bespreken shopt en zijn opties staan ​​in de Bash-sectie van de Linux-handleiding. De Bash-sectie is meer dan 6000 regels lang. U vindt de beschrijving van shopt met veel scrollen, of je kunt er gewoon naar zoeken in de handleiding.

Open hiervoor de handleiding in het gedeelte Bash:

man bash

man bash in een terminalvenster.

Druk in de handleiding op / om een ​​zoekopdracht te starten. Typ het volgende en druk op Enter:

assoc_expand_once

Bash-sectie van de handleiding, met een zoekterm ingevoerd op de opdrachtregel in een terminalvenster.

Het begin van de shoptoptie sectie zal verschijnen in het man venster.

De handleiding die de optie shopt-sectie van de Bash-manpagina in een terminalvenster toont.

VERWANT: Hoe Linux’s man Command te gebruiken: Hidden Secrets and Basics

Opties in- en uitschakelen

In- en uitschakelen shopt opties, gebruik de volgende commando’s:

  • -s: Instellen of inschakelen.
  • -u: Uitgeschakeld of uitgeschakeld.

Omdat sommige opties standaard zijn ingeschakeld, is het ook handig om te controleren welke opties aan staan. U kunt dit doen met de -s en -u opties zonder een optienaam te gebruiken. Dit veroorzaakt shopt om de opties weer te geven die in- en uitgeschakeld zijn.

Typ het volgende:

shopt -s

shopt -s in een terminalvenster.

shopt -u | column

shopt -u |  kolom in een terminalvenster.

U kunt een shopt optie zonder de -s of -u commando’s om de aan of uit status voor elke optie te zien.

We kunnen bijvoorbeeld het volgende typen om de instelling van de histverify optie:

shopt histverify

We kunnen het volgende typen om het in te schakelen:

shopt -s histverify

Vervolgens kunnen we het volgende typen om het opnieuw te controleren:

shopt histverify

shopt histverify in een terminalvenster.

De histverify optie verandert hoe een aspect van het history commando werkt. Meestal, als je het vraagt history om een ​​commando te herhalen door er met een nummer naar te verwijzen, zoals !245wordt de opdracht opgehaald uit de opdrachthistorie en onmiddellijk uitgevoerd.

Als u liever een commando bekijkt om er zeker van te zijn dat het degene is die u had verwacht en het indien nodig wilt bewerken, typt u het volgende om de shopt histverify optie om op:

!245

! 245 in een terminalvenster.

De opdracht wordt opgehaald en gepresenteerd op de opdrachtregel. U kunt het verwijderen, bewerken of uitvoeren door op Enter te drukken.

VERWANT: Hoe het geschiedeniscommando op Linux te gebruiken

De autocd-optie

Met de autocd optie ingeschakeld, als u de naam van een map op de opdrachtregel typt en op Enter drukt, wordt deze behandeld alsof u hebt getypt cd voor.

We typen het volgende om het autocd optie:

shopt -s autocd

Vervolgens typen we de naam van een directory:

Documents

shopt -s autocd in een terminalvenster.

De cdspell-optie

Wanneer de cdspell optie is ingeschakeld, zal Bash automatisch eenvoudige spelfouten en typefouten in directory-namen corrigeren.

We typen het volgende om het cdspell optie:

shopt -s cdspell

Om te proberen over te schakelen naar een directory in kleine letters die een hoofdletter zou moeten hebben, typen we het volgende:

cd documents

Vervolgens kunnen we het volgende typen om een ​​directorynaam te proberen met een extra “t” in de naam:

cd ../Picttures

shopt -s cdspell in een terminalvenster.

Bash verandert in elke map, ongeacht de spelfouten.

De optie xpg_echo

Wanneer de xpg_echo optie is ingeschakeld, zal het echo-commando de ontsnapte tekens gehoorzamen, zoals n voor nieuwe regel en t voor horizontale tab.

Eerst typen we het volgende om er zeker van te zijn dat de optie is ingesteld:

shopt -s xpg_echo

We nemen dan op n in een string waar we naartoe gaan echo:

echo "This is line onenThis is line two"

shopt -s xpg_echo in een terminalvenster.

Het ontsnapte teken voor een nieuwe regel forceert een regeleinde in de uitvoer.

Dit levert hetzelfde gedrag op als de -e (ontsnappingsinterpretatie mogelijk maken) echo optie, maar xpg_echo staat toe dat het de standaardactie is.

VERWANT: Hoe de echo-opdracht op Linux te gebruiken

De dotglob-optie

De dotglob optie moet met enige voorzichtigheid worden behandeld. Het staat bestanden en mappen toe die beginnen met een punt (.) om te worden opgenomen in naamuitbreidingen of ‘globbing’. Dit worden “puntbestanden” of “puntmappen” genoemd en zijn meestal verborgen. De dotglob optie negeert de punt aan het begin van hun namen.

Eerst zoeken we naar bestanden of mappen die eindigen op ‘nerd’ door het volgende te typen:

ls *geek

Er is één bestand gevonden en weergegeven. Vervolgens zetten we de dotglob optie door het volgende te typen:

shopt -s dotglob

We geven hetzelfde uit ls commando om te zoeken naar bestanden en mappen die eindigen op “geek”:

ls *geek

ls * geek in een terminalvenster.

Dit keer worden twee bestanden gevonden en weergegeven, waarvan er één een puntbestand is. Je moet voorzichtig zijn met rm en mv als je de dotglob optie ingeschakeld.

De nocaseglob-optie

De nocaseglob optie is vergelijkbaar met de dotglob optie, behalve nocaseglob zorgt ervoor dat verschillen in hoofdletters en kleine letters in bestandsnamen en mappen worden genegeerd in naamuitbreidingen.

We typen het volgende om te zoeken naar bestanden of mappen die beginnen met ‘hoe’:

ls how*

Er is één bestand gevonden en weergegeven. We typen het volgende om het nocaseglob optie:

shopt -s nocaseglob

Vervolgens herhalen we de ls opdracht:

ls how*

ls how * in een terminalvenster.

Er zijn twee bestanden gevonden, waarvan er één hoofdletters bevat.

Veranderingen permanent maken

De wijzigingen die we hebben aangebracht, duren alleen totdat we de huidige Bash-shell sluiten. Om ze permanent te maken over verschillende shell-sessies, moeten we ze toevoegen aan ons “.bashrc” -bestand.

Typ in je homedirectory het volgende commando om het “.bashrc” -bestand in de grafische Gedit-teksteditor te openen (of verander het dienovereenkomstig om de editor van jouw voorkeur te gebruiken):

gedit .bashrc

De gedit editor wordt geopend met het “.bashrc” -bestand geladen. Je zult er een paar zien shopt vermeldingen staan ​​er al in.

De gedit-editor met .bashrc erin geladen en de opties voor shopt gemarkeerd.

U kunt uw eigen shopt opties hier ook. Als u ze heeft toegevoegd, slaat u uw wijzigingen op en sluit u de editor. Telkens wanneer u een nieuwe Bash-shell opent, worden uw opties voor u ingesteld.

Opties zover het oog reikt

Het is waar de shopt command heeft veel opties, maar je hoeft ze niet allemaal tegelijk te behandelen, of nooit. Aangezien het er zo veel zijn, zijn er waarschijnlijk enkele die u niet interesseren.

Er zijn bijvoorbeeld een heleboel die Bash dwingen om te werken op manieren die compatibel zijn met specifieke, oudere versies. Dat is misschien handig voor iemand, maar het is een redelijk nichegeval.

Je kunt de Bash man-pagina of de GNU Bash Reference Manual bekijken. Bepaal welke opties voor u het verschil gaan maken en experimenteer er vervolgens mee. Wees voorzichtig met opties die van invloed zijn op de manier waarop bestands- en directorynamen worden uitgebreid. Probeer ze met een goedaardig commando, zoals ls, totdat u zich er prettig bij voelt.

Nieuwste artikelen

spot_img

Related Stories

Leave A Reply

Vul alstublieft uw commentaar in!
Vul hier uw naam in