Bash fc Opdracht: Gebruik de Bash Shell als een Professional

Heb je ooit een opdracht uitgevoerd in Bash en een foutmelding gekregen vanwege een verkeerd gespelde woord? Of ben je misschien de laatste drie opdrachten vergeten die je hebt uitgevoerd? In plaats van vorige opdrachten opnieuw te schrijven of te onthouden, kan het Bash fc-commando helpen bij het snel bewerken en opnieuw uitvoeren van eerdere opdrachten.

In dit artikel leer je hoe je fc kunt gebruiken om opdrachten te bewerken en opnieuw uit te voeren vanuit je opdrachtgeschiedenis. Na het lezen van deze handleiding hanteer je fc als de commandoregelkrijger die je wilt zijn!

Vereisten

Deze handleiding is een tutorial. Als je van plan bent om stap voor stap mee te doen, heb je een Linux-computer nodig of een Windows 10-computer met Windows Subsystem for Linux (WSL) ingeschakeld. Deze tutorial maakt gebruik van Ubuntu 20.04 LTS.

Over het Bash fc-commando

fc is geen Linux-toepassing, maar een ingebouwd shell-hulpprogramma in Bash. Bash is beschikbaar in de meeste belangrijke Linux-distributies. Met een paar toetsaanslagen stelt het Bash fc-commando je in staat om vorige opdrachten te bekijken, bewerken of uit te voeren.

De fc-opdracht is ook beschikbaar in de Z-shell (ZSH). Maar het voorbeeld in dit artikel zal fc in Bash gebruiken.

Heb je een lange opdracht uitgevoerd die achteraf onjuist bleek te zijn? Met fc hoef je de hele opdracht niet opnieuw in te typen. In plaats daarvan stelt fc je in staat om de opdracht te bewerken met de teksteditor van jouw keuze. Na het opslaan van je wijzigingen wordt de bewerkte opdracht automatisch uitgevoerd!

Klaar om fc uit te proberen? Laten we erin duiken!

Vorige opdrachten vermelden

Ben je weggegaan van je computer, weer teruggekomen en vergeten welke opdracht je als laatste hebt uitgevoerd? Of kun je je niet herinneren of je meerdere opdrachten in de juiste volgorde hebt uitgevoerd. Wat doe je? Geen zorgen, fc zal je helpen herinneren. Hier is hoe.

1. Open een Bash-terminal op je computer.

2. Om fc goed te laten werken, moet het enige vorm van opdrachtgeschiedenis hebben om mee te werken. Aangezien je zojuist een nieuw terminalvenster hebt geopend, is er mogelijk nog geen opdrachtgeschiedenis. Om een opdrachtgeschiedenis op te bouwen voor testdoeleinden, kopieer je elke onderstaande opdracht en voer je deze uit in je terminal. Deze opdrachten zijn niet-ingrijpend en brengen je computer niet in gevaar.

# Maak het scherm leeg
 clear
 
# Druk een string af naar de terminalsessie
 echo 'working on the command line with fc'
 
# Toon wat systeeminformatie
 uname -a
 
# Gebruik PS-opdracht om procesinformatie te krijgen
 ps aux

3. Volgende, lijst alle commando’s in de geschiedenis door het onderstaande commando uit te voeren. De -l optie instrueert fc om alleen alle eerdere commando’s op te sommen en ze niet uit te voeren.

fc -l

Zoals je hieronder kunt zien, toonde het fc commando alle vier commando’s die je eerder hebt uitgevoerd. De nummers aan de linkerkant geven de volgorde aan waarin je elk commando hebt uitgevoerd.

Listing command history with fc

Het bewerken en opnieuw uitvoeren van het laatste commando

Stel je een situatie voor waarin je een toepassing installeert en een spelfout maakt. Als gevolg hiervan mislukt het commando. In plaats van het hele commando opnieuw in te typen, waarom bewerk je het commando niet en voer je het automatisch opnieuw uit? Volg deze stappen om dit te doen.

1. Simuleer het installeren van een niet-bestaande toepassing door het onderstaande commando uit te voeren in je terminal. Let op dat je opzettelijk de naam van de toepassing verkeerd spelt caffiene.

sudo apt install caffiene -y

Als gevolg hiervan mislukt de poging tot installatie. Je krijgt een bericht vergelijkbaar met het onderstaande.

Failed installation message

2. Om het laatste commando dat je hebt uitgevoerd te corrigeren, voer je het onderstaande commando uit in de terminal. Hierdoor wordt de commandogeschiedenisbuffer geopend in de standaardteksteditor. In dit voorbeeld is de standaardteksteditor nano.

fc

De onderstaande schermafbeelding toont het laatste commando binnen de nano-editor.

Editing the last command with nano.

Als nano niet uw voorkeur heeft als teksteditor, kunt u fc instrueren om een andere editor te gebruiken, zoals vi. Voeg hiervoor de optie -e toe gevolgd door de naam van de teksteditor. Bijvoorbeeld, fc -e vi opent de opdrachtgeschiedenis in de vi teksteditor.

3. Zodra u zich in de nano teksteditor bevindt, corrigeer dan de spellingsfout in de toepassingsnaam van caffiene naar caffeine.

4. Na het corrigeren van de toepassingsnaam, druk op CTRL+X om nano af te sluiten.

5. Bij de volgende prompt die vraagt om Gewijzigde buffer opslaan?, druk op Y —> Enter om de wijzigingen op te slaan.

Editing the last command and saving changes to the history buffer

Direct nadat u de teksteditor heeft afgesloten, voert fc automatisch de opdracht uit die u heeft bewerkt.

Automatically re-executing the edited command

Een eerdere opdracht bewerken en opnieuw uitvoeren

Met fc kunt u niet alleen de laatste opdracht die u hebt uitgevoerd bewerken, maar u kunt ook een van de eerdere opdrachten bewerken die u heeft uitgevoerd. Om bijvoorbeeld de opdracht echo 'werken op de opdrachtregel met fc' te bewerken, volgt u deze stappen.

1. Lijst de vorige opdracht in de terminal op door de volgende opdracht uit te voeren.

fc -l

2. Zoek de opdracht die u wilt bewerken in de lijst met opdrachtgeschiedenis en noteer het nummer links ervan. In dit voorbeeld is het opdrachtnummer 2.

Listing the command history and finding the command number to edit

3. Om de opdracht met het invoernummer van 2 te bewerken, voert u de volgende opdracht uit in de terminal. De opdracht wordt geopend in de teksteditor voor bewerking.

fc 2

4. Eenmaal in de teksteditor, bewerk nu de opdracht zoals nodig.

5. Nadat je de opdracht hebt bewerkt, druk op CTRL+X om nano af te sluiten.

6. Bij de volgende prompt waarin wordt gevraagd om het gewijzigde buffer op te slaan, druk op Y —> Enter om de wijzigingen op te slaan.

Editing a past command entry in the history buffer

Na het opslaan van de opdracht en het afsluiten van de teksteditor, wordt de opdracht die je hebt bewerkt automatisch uitgevoerd in de shell.

Bewerken en opnieuw uitvoeren van meerdere opdrachten

Als je denkt dat fc alleen maar één vorige opdracht tegelijk kan bewerken en uitvoeren, dan heb je het mis. Waarom? fc staat je ook toe om meerdere vorige opdrachten te bewerken! Waarom is het bewerken van meerdere vorige opdrachten handig? Ten eerste kun je de volgorde van de uitvoering van opdrachten wijzigen.

Stel dat je de vorige opdrachten 2 tot 7 wilt bewerken. Volg dan deze stappen.

1. Voer de onderstaande opdracht uit in je Bash-terminal en druk op Enter. De opdracht hieronder wordt gelezen als fc <spatie> 2 <spatie> 7, wat betekent dat fc de opdrachten 2 tot 7 opent om te bewerken.

fc 2 7

2. Bewerk vervolgens de opdrachten zoals nodig. Voor dit voorbeeld:

  • Verwijder de opdracht sudo apt install caffiene -y.
  • Wissel de volgorde van uname -a en ps aux om.
  • Verwijder clear.
Editing command history entries 2 through 7 at once

3. Nadat je de opdrachten hebt bewerkt, druk op CTRL+X om nano af te sluiten.

4. Bij de volgende prompt waarin wordt gevraagd om het gewijzigde buffer op te slaan, druk op Y —> Enter om de wijzigingen op te slaan.

De opdrachten die je hebt bewerkt, worden automatisch uitgevoerd nadat je de teksteditor hebt verlaten.

Automatically re-executing the edited command

Het opnieuw uitvoeren van een vorige opdracht zonder bewerking

Stel dat je alleen een vorige opdracht wilt uitvoeren zonder deze eerst te bewerken. fc heeft daar een optie voor. Volg de onderstaande stappen om een vorige opdracht uit de geschiedenis uit te voeren.

  1. Vermeld de vorige opdracht in de terminal door de onderstaande opdracht uit te voeren.
fc -l

2. Zoek in de lijst met opdrachtgeschiedenis de opdracht die je opnieuw wilt uitvoeren en noteer het nummer links ervan. In dit voorbeeld is het commandonummer 2.

Listing the command history and finding the command number to execute

3. Om de specifieke vorige opdracht uit te voeren, voer je de onderstaande opdracht uit in de shell. De -s-optie geeft fc de instructie om bewerking over te slaan en door te gaan met het uitvoeren van opdrachtnummer 2.

fc -s 2

De onderstaande schermafbeelding toont dat fc opdrachtnummer 2 heeft uitgevoerd uit de opdrachtgeschiedenis.

Executing a previous command from the history buffer without editing

Conclusie

Deze tekst beoogde je interesse te wekken voor een nuttige maar vaak over het hoofd geziene en vergeten opdracht genaamd fc. Je hebt geleerd hoe je fc kunt gebruiken om eerder uitgevoerde opdrachten opnieuw uit te voeren, wat tijdbesparend kan zijn.

Met de kennis die je nu hebt over fc, denk je dat je het zou gebruiken? Of geef je nog steeds de voorkeur aan het opnieuw typen van opdrachten in de shell? Maak een verstandige keuze!

Source:
https://adamtheautomator.com/bash-fc-command/