Source Shell Script vs Executing Shell Script - The Real Difference
Inhoudsopgave:
De bronopdracht leest en voert opdrachten uit het bestand dat is opgegeven als argument in de huidige shell-omgeving. Het is handig om functies, variabelen en configuratiebestanden in shellscripts te laden.
source
is een shell ingebouwd in Bash en andere populaire shells die worden gebruikt in Linux- en UNIX-besturingssystemen. Het gedrag kan enigszins verschillen van shell tot shell.
Bronopdrachtsyntaxis
De syntaxis voor de bronopdracht is als volgt:
source FILENAME. FILENAME
-
sourceen.(een punt) zijn dezelfde opdracht. Als deFILENAMEgeen volledig pad naar een bestand is, zoekt de opdracht naar het bestand in de mappen die zijn opgegeven in de omgevingsvariabele$PATH. Als het bestand niet wordt gevonden in$PATH, zoekt het commando naar het bestand in de huidige map. Als erARGUMENTSworden gegeven, worden dit positionele parameters voor deFILENAME. Als deFILENAMEbestaat, is deFILENAMEexitcode0, anders als het bestand niet wordt gevonden, wordt1geretourneerd.
Bronopdrachtvoorbeelden
In deze sectie zullen we enkele basisvoorbeelden bekijken van het gebruik van de bronopdracht.
Inkoopfuncties
In dit voorbeeld maken we een bestand met een bash-functie die controleert of de gebruiker die het script uitvoert root is en zo niet, wordt er een bericht weergegeven en wordt het script afgesloten.
functions.sh
check_root () { if]; then echo "This script must be run as root" exit 1 fi }
Nu, in elk van uw scripts die alleen door de rootgebruiker moeten worden uitgevoerd, bron het
functions.sh
bestand en roep de functie aan:
#!/usr/bin/env bash source functions.sh check_root echo "I am root"
Het voordeel van deze aanpak is dat uw scripts kleiner en beter leesbaar zijn, u kunt hetzelfde functiebestand wanneer nodig opnieuw gebruiken en in het geval dat u een functie moet wijzigen, bewerkt u slechts één bestand.
Bash-configuratiebestand
Met de bronopdracht kunt u ook variabelen uit een bestand lezen. De variabelen moeten worden ingesteld met de Bash-syntaxis,
VARIABLE=VALUE
.
Laten we een testconfiguratiebestand maken:
VAR1="foo" VAR2="bar"
Gebruik in uw bash-script de bronopdracht om het configuratiebestand te lezen:
#!/usr/bin/env bash source config.sh echo "VAR1 is $VAR1" echo "VAR2 is $VAR2"
Conclusie
In deze handleiding hebt u geleerd hoe u de opdracht
source
builtin in uw shellscripts kunt gebruiken.
Microsoft Research Asia host poorten op 10 jaar Bash
Microsoft Research Asia is in 1998 van een dozijn mensen gegroeid tot meer dan 350 een decennium later.
Bash uitvoeren op Ubuntu op Windows 10
Als u Windows Subsystem voor Linux inschakelt, kunt u Bash op Ubuntu uitvoeren op Windows 10, Bash-scripts , Linux-opdrachtregelprogramma`s, Linux-eerste hulpprogramma`s.
Bash-arrays
Arrays zijn een van de meest gebruikte en fundamentele gegevensstructuren. In dit artikel behandelen we de Bash-arrays en leggen we uit hoe je ze kunt gebruiken in je Bash-scripts.







