logo

bron Commando in Linux met voorbeelden

Als je nieuw bent in de wereld van Linux, heb je misschien gehoord van commando's die verschillende taken uitvoeren, maar sommige, zoals het 'source'-commando, lijken in eerste instantie misschien wat verwarrend. Maak je geen zorgen; laten we het stap voor stap opsplitsen.

Wat is het broncommando?

Het broncommando in Linux is als een toverstaf waarmee je commando's uit een bestand kunt binnenhalen en deze rechtstreeks in je terminal kunt gebruiken. Het is alsof je een receptenboek hebt en de recepten meteen kunt gebruiken zonder ze te kopiëren.



Het ‘source’-commando is een ingebouwd kenmerk van de shell, ontworpen om commando’s uit te voeren die in een bestand zijn opgeslagen, rechtstreeks in de huidige shell-omgeving. Wanneer u de opdracht ‘source’ gebruikt, leest deze de inhoud van het opgegeven bestand, meestal een reeks opdrachten, en voert deze uit alsof ze rechtstreeks in de terminal zijn getypt. Dit proces vindt plaats binnen de context van de huidige shellsessie, zonder dat er een nieuw proces of nieuwe tolk ontstaat. Als er argumenten worden opgegeven bij de opdracht ‘source’, worden deze als positionele parameters doorgegeven aan de opdrachten in het bronbestand. De positionele parameters van de huidige shell-sessie blijven echter ongewijzigd, tenzij ze expliciet worden gewijzigd door de opdrachten in het bronbestand. De opdracht ‘source’ zoekt naar het opgegeven bestand in de mappen die worden vermeld in de $PAD omgevingsvariabele . Als het bestand in geen van deze mappen wordt gevonden, zal het in de huidige map zoeken. Het is belangrijk op te merken dat het commando ‘source’ geen opties biedt; het enige argument is de naam van het bestand dat moet worden opgehaald

Syntaxis van bronopdracht in Linux

De syntaxis van de bronopdracht is eenvoudig:

source FILENAME>

Of het equivalent ervan:



. filename>

Hier verwijst ‘bestandsnaam’ naar het bestand dat de opdrachten bevat die moeten worden opgehaald.

Voorbeeld van bronopdracht in Linux

bron Commando in Linux met voorbeelden

Uitvoering van Shell-scripts:

Een van de belangrijkste gebruiksscenario's van de source-opdracht is het uitvoeren van shell-scripts binnen de huidige shell-omgeving. Hierdoor kan het script variabelen, functies en andere shell-functies rechtstreeks manipuleren.



Stel je voor dat je een shellscript hebt met de naam ‘myscript.sh’ dat een variabele instelt en vervolgens de waarde ervan weergeeft:

# mijnscript.sh
#!/bin/bash
# Stel een variabele in

byte-array om Java te stringen

MY_VARIABLE=Hallo, van myscript.sh

# Echo de variabele

echo $MY_VARIABLE

Laten we nu de source-opdracht gebruiken om dit script binnen de huidige shell uit te voeren:

source myscript.sh>
Een shellscript uitvoeren

Een shellscript uitvoeren

Uitleg:

  • Het source-commando voert de commando's binnen ‘myscript.sh’ rechtstreeks uit in de huidige shell-omgeving.
  • De variabele ‘MY_VARIABLE’ wordt ingesteld in ‘myscript.sh’ en herhaald, waardoor de uitvoer binnen de huidige shell-sessie wordt geproduceerd.

Omgevingsvariabelen wijzigen:

Het source-commando is cruciaal voor het wijzigen van de omgevingsvariabelen van het huidige schelp sessie. Dit is vooral handig wanneer een script variabelen moet exporteren die van invloed zijn op de bovenliggende shell-omgeving.

#omgeving_setup.sh
#!/bin/bash
# Exporteer een variabele

export MY_ENV_VARIABLE=Dit is mijn omgevingsvariabele

Laten we nu de source-opdracht gebruiken om de omgevingsvariabelen binnen de huidige shell te wijzigen:

volledig optelcircuit
Omgevingsvariabele wijzigen

Omgevingsvariabele wijzigen

source environment_setup.sh>

Om de wijzigingen te verifiëren, kunt u de omgevingsvariabele herhalen:

echo $MY_ENV_VARIABLE>

Uitleg:

  • Het broncommando voert het script ‘environment_setup.sh’ uit, dat de variabele ‘MY_ENV_VARIABLE’ exporteert.
  • Nadat het script is opgehaald, wordt de omgevingsvariabele ‘MY_ENV_VARIABLE’ beschikbaar in de huidige shell-sessie, zoals blijkt uit de echo van de waarde ervan.

Configuratiebestanden laden:

Veel toepassingen in Linux zijn afhankelijk van configuratiebestanden. Met behulp van het source-commando kunnen deze configuratiebestanden rechtstreeks in de huidige shell worden geladen, zodat de wijzigingen onmiddellijk van kracht worden.

Overweeg een scenario waarin u wijzigingen heeft aangebracht in uw ‘.bashrc’-configuratiebestand, zoals het toevoegen van een nieuwe alias:

# Voeg een alias toe aan .bashrc

alias myalias=’ls -la’

Laten we nu de source-opdracht gebruiken om het bijgewerkte configuratiebestand in de huidige shell te laden:

hoeveel MB in een GB
source ~/.bashrc>

Nu kunt u de nieuw toegevoegde alias ‘myalias’ gebruiken:

myalias>
Configuratiebestand laden

Configuratiebestand laden

Uitleg:

  • De source-opdracht laadt het bijgewerkte ‘.bashrc’-bestand in de huidige shell-sessie, inclusief eventuele wijzigingen die zijn aangebracht in aliassen of andere configuraties.
  • Na het sourcen van ‘.bashrc’ wordt de nieuw toegevoegde alias ‘myalias’ beschikbaar voor onmiddellijk gebruik, zoals gedemonstreerd door het uit te voeren en de inhoud van de huidige map weer te geven.

Shell-functies definiëren:

Shell-functies die in een script zijn gedefinieerd, kunnen beschikbaar worden gemaakt in de huidige shell-sessie door het script te sourcen dat deze functies bevat.

Stel dat je een script hebt met de naam ‘my_functions.sh’ dat een shell-functie definieert:

# mijn_functies.sh
#!/bin/bash
# Definieer een shell-functie

mijn_functie() {
echo Dit is mijn aangepaste functie
}

Laten we nu het source-commando gebruiken om deze functie beschikbaar te maken in de huidige shell:

source my_functions.sh>

Nu kunt u de functie rechtstreeks binnen de shell aanroepen:

my_function>
Shell-functies definiëren

Shell-functies definiëren

Uitleg:

  • Het broncommando voert het script ‘my_functions.sh’ uit, dat een shell-functie definieert met de naam ‘my_function’.
  • Nadat het script is opgehaald, wordt de functie ‘my_function’ beschikbaar voor onmiddellijk gebruik binnen de huidige shell-sessie, zoals gedemonstreerd door het aan te roepen en het bericht te herhalen.

Conclusie

Concluderend dient het ‘source’-commando in Linux als een krachtig hulpmiddel voor het naadloos integreren van commando’s, instellingen en functies uit externe bestanden rechtstreeks in de huidige shell-omgeving. Het ‘source’-commando fungeert als schakel tussen de terminalsessie en bestanden die instructies bevatten en voert de commando’s binnen het opgegeven bestand uit alsof ze rechtstreeks in de terminal zijn getypt. Dit maakt dynamische wijziging van omgevingsvariabelen, uitvoering van shell-scripts, laden van configuratiebestanden en beschikbaarheid van aangepaste shell-functies binnen de huidige shell-sessie mogelijk. Door gebruik te maken van de mogelijkheden van het ‘source’-commando kunnen Linux-gebruikers de productiviteit en efficiëntie bij systeembeheer- en ontwikkelingstaken verbeteren, waardoor een nieuw niveau van commandoregelvaardigheid en flexibiliteit wordt ingeluid.