Shell-variabelen zijn belangrijk voor de goede werking van elk Linux-systeem. Elke keer dat u bijvoorbeeld een programma of opdracht uitvoert, kijkt uw systeem in de PATH-variabele om te controleren of het programma aanwezig is. Kennis van shell-variabelen is belangrijk voor uw dagelijks gebruik of beheer van Linux-systemen.
Het belang van Shell-variabelen
Een shell-variabele is een tijdelijke aanduiding voor het opslaan van informatie die wordt gebruikt door uw Linux-systeem, programma's of scripts.
Er zijn verschillende soorten shells of opdrachtregelinterpreters op Linux, die allemaal uitgebreid gebruik maken van variabelen. Enkele van de belangrijke rollen die shell-variabelen spelen, zijn:
- Met shell-variabelen kunt u waarden in de shell opslaan en manipuleren, en resultaten in berekeningen of andere bewerkingen manipuleren.
- Ze bieden een manier om waarden door te geven tussen scripts en programma's
- U kunt shell-variabelen gebruiken om het gedrag van programma's aan te passen
Shell-variabelen zijn zeer flexibel; u kunt ook uw eigen aangepaste variabelen maken, maar hier zijn enkele van de standaardvariabelen die bij uw systeem horen.
1. PAD
De variabele PATH specificeert de mappen waar het systeem naar uitvoerbare bestanden moet zoeken wanneer u een opdracht in de terminal invoert.
Het is een systeembrede omgevingsvariabele en bestaat uit een door dubbele punten gescheiden lijst met mappen. Elke map wordt achtereenvolgens doorzocht op een uitvoerbaar bestand met dezelfde naam als de opdracht die u hebt ingevoerd.
Als je bijvoorbeeld binnenkomt het ls-commando in de terminal doorzoekt het systeem de mappen die zijn opgegeven in de PATH-variabele voor het commando met de naam ls. Als het het bestand vindt, zal het het uitvoeren; zo niet, dan wordt de foutmelding "opdracht niet gevonden" weergegeven.
De PATH-variabele is belangrijk omdat u hiermee opdrachten vanuit elke map kunt uitvoeren zonder dat u het volledige pad naar het uitvoerbare bestand hoeft op te geven. Als u bijvoorbeeld het uitvoerbare bestand "ls" in de /usr/bin directory, kunt u de opdracht ls vanuit elke directory uitvoeren door simpelweg te typen ls, in plaats van het volledige pad op te geven, d.w.z. /usr/bin/ls.
U kunt de huidige waarde van de variabele PATH bekijken door de opdracht echo als volgt uit te voeren:
echo $PAD
U kunt ook de waarde van de PATH-variabele wijzigen door mappen toe te voegen aan of te verwijderen uit de lijst. Dit kan handig zijn als u een map wilt toevoegen die uw eigen uitvoerbare bestanden of aangepaste scripts bevat, of als u de mappen wilt wijzigen die worden doorzocht bij het uitvoeren van opdrachten.
2. THUIS
Op Linux is de HOME-variabele een omgevingsvariabele die het pad naar de homedirectory van de gebruiker specificeert. Waarom is dit zo belangrijk? Welnu, Linux is een besturingssysteem voor meerdere gebruikers en de thuismap is een speciale map op uw systeem die aan elke gebruiker is gekoppeld.
De thuismap wordt meestal gebruikt om de persoonlijke bestanden van de gebruiker op te slaan, zoals documenten, afbeeldingen, muziek, enz.
De variabele HOME wordt doorgaans automatisch ingesteld wanneer u zich aanmeldt en wordt door veel programma's en scripts gebruikt om de thuismap van de gebruiker te lokaliseren. Als u bijvoorbeeld de opdracht cd zonder enige argumenten uitvoert, gebruikt deze de variabele HOME om naar de thuismap van de gebruiker te navigeren.
Veel programma's gebruiken de variabele HOME om configuratiebestanden of andere gegevens op te slaan in de thuismap van de gebruiker. U kunt de huidige waarde van de HOME-variabele bekijken door het echo $HOME commando.
3. GEBRUIKER
De variabele USER specificeert de gebruikersnaam van de momenteel ingelogde gebruiker. Het wordt automatisch ingesteld wanneer u zich aanmeldt en wordt vaak gebruikt door programma's en scripts om de gebruikersnaam van de huidige gebruiker te bepalen.
De variabele USER wordt vaak gebruikt in scripts om het gedrag van een programma aan te passen op basis van de huidige gebruiker. Een script kan bijvoorbeeld de waarde van de USER-variabele controleren en alleen bepaalde acties uitvoeren als de huidige gebruiker root- of sudo-privileges heeft.
U kunt de variabele ook gebruiken voor het uitvoeren van bepaalde algemene opdrachten. Wanneer u bijvoorbeeld uw gebruiker aan de docker-groep toevoegt, kunt u eenvoudig de volgende opdracht uitvoeren in plaats van de daadwerkelijke gebruikersnaam te typen:
sudo usermod -aG koppelaar $USER
4. SCHELP
Een shell is een programma dat een opdrachtregelinterface (CLI) biedt voor interactie met het besturingssysteem.
De meeste Linux-systemen gebruiken de Bourne Again Shell (Bash) als standaard, maar er zijn genoeg alternatieven. De C-schaal (csh), Z-schaal (Zsh), vis, etc.
De variabele SHELL specificeert het pad naar de standaard shell van de gebruiker. Het wordt automatisch ingesteld wanneer u zich aanmeldt.
Verder wordt de variabele gebruikt in scripts om het gedrag van programma's aan te passen op basis van de standaard shell van de gebruiker. Een script kan bijvoorbeeld de waarde van de SHELL-variabele controleren en verschillende syntaxis of opties gebruiken, afhankelijk van de shell die wordt gebruikt.
U kunt de huidige waarde van de SHELL-variabele bekijken door de echo $SHELL. Je kan veranderen uw standaard shell met behulp van de opdracht chsh.
5. PWD
Nog een andere belangrijke omgevingsvariabele op Linux, PWD slaat je huidige werkdirectory op. In tegenstelling tot de meeste omgevingsvariabelen die meestal statisch zijn, wordt deze door de shell bijgewerkt wanneer u verander mappen met behulp van de opdracht cd.
U kunt de PWD-variabele in uw shellscripts gebruiken om eenvoudig naar de huidige werkmap te verwijzen. De waarde van de variabele is vergelijkbaar met de waarde die u krijgt wanneer u de opdracht pwd uitvoert.
6. HOSTNAAM
Een hostnaam of apparaatnaam is een unieke naam die wordt gebruikt om uw computer in een netwerk te identificeren. Als u bijvoorbeeld SSH naar een machine wilt, kunt u eenvoudig de hostnaam gebruiken in plaats van het IP-adres.
De HOSTNAME-variabele is een omgevingsvariabele die simpelweg de hostnaam van het systeem specificeert. Het wordt automatisch ingesteld wanneer het systeem opstart en wordt doorgaans gebruikt om het systeem te identificeren wanneer het op een netwerk is aangesloten. Er zijn verschillende manieren waarop je kan de hostnaam op Linux wijzigen.
De HOSTNAME-variabele wordt ook gebruikt door programma's en scripts om het systeem te identificeren en zijn gedrag aan te passen op basis van de hostnaam. Een script controleert meestal de waarde van de HOSTNAME-variabele en voert alleen bepaalde acties uit als het systeem een specifieke host is.
Een aangepaste variabele maken op Linux
Afgezien van de standaard Linux-variabelen die automatisch voor u worden ingesteld. U kunt ook uw eigen shell-variabelen definiëren met behulp van het exportcommando. Om een nieuwe variabele met de naam GREETING met de waarde "Hello World" te maken, kunt u het volgende commando gebruiken:
exporteren GROET="Hallo Wereld"
U kunt dan de GREETING-variabele gebruiken in uw scripts of binnen de opdrachtregel, net als elke andere omgevingsvariabele.