Source Shell Script vs Executing Shell Script - The Real Difference
Innholdsfortegnelse:
- Kildekommandosyntaks
- Eksempler på kildekommandoer
- Sourcing funksjoner
- Bash-konfigurasjonsfil
- Konklusjon
Kildekommandoen leser og utfører kommandoer fra filen som er spesifisert som argument i det gjeldende skallmiljøet. Det er nyttig å laste funksjoner, variabler og konfigurasjonsfiler i skallskript.
source
er et skall som er innebygd i Bash og andre populære skjell som brukes i operativsystemene Linux og UNIX. Oppførselen kan være litt forskjellig fra skall til skall.
Kildekommandosyntaks
Syntaks for
source
er som følger:
source FILENAME. FILENAME
-
source
og.
(en periode) er den samme kommandoen. HvisFILENAME
ikke er en full bane til en fil, vil kommandoen søke etter filen i katalogene som er spesifisert i$PATH
miljøvariabelen. Hvis filen ikke blir funnet i$PATH
vil kommandoen lete etter filen i den gjeldende katalogen. Hvis noenARGUMENTS
er gitt, vil de bli posisjonsparametere tilFILENAME
. HvisFILENAME
eksisterer, ersource
avgangskode0
, ellers Hvis filen ikke er funnet, vil den returnere1
.
Eksempler på kildekommandoer
I denne delen vil vi se på noen grunnleggende eksempler på hvordan du bruker
source
.
Sourcing funksjoner
I dette eksemplet vil vi lage en fil som inkluderer en bash-funksjon som sjekker om brukeren som kjører skriptet er root, og hvis ikke, viser den en melding og avslutter skriptet.
functions.sh
check_root () { if]; then echo "This script must be run as root" exit 1 fi }
Nå i hvert av skriptene dine som bare må kjøres av rotbrukeren, er det bare å kilde til
functions.sh
filen og kalle funksjonen:
#!/usr/bin/env bash source functions.sh check_root echo "I am root"
Fordelen med denne tilnærmingen er at skriptene dine blir mindre og mer leselige, du kan bruke den samme funksjonsfilen på nytt når det er nødvendig, og i tilfelle du trenger å endre en funksjon, redigerer du bare en fil.
Bash-konfigurasjonsfil
Med
source
kan du også lese variabler fra en fil. Variablene må angis ved hjelp av Bash-syntaks,
VARIABLE=VALUE
.
La oss lage en testkonfigurasjonsfil:
VAR1="foo" VAR2="bar"
Bruk
source
til å lese konfigurasjonsfilen i bash-skriptet:
#!/usr/bin/env bash source config.sh echo "VAR1 is $VAR1" echo "VAR2 is $VAR2"
Konklusjon
I denne guiden har du lært hvordan du bruker kildebygde-kommandoen i skallskriptene dine.
bash terminalMicrosoft Research Asia Hosts Gates på 10 år Bash

Microsoft Research Asia har vokst fra et dusin mennesker i 1998 til over 350 et tiår senere.
Slik kjører du Bash på Ubuntu på Windows 10

Aktivering av Windows Subsystem for Linux vil tillate deg å kjøre Bash på Ubuntu på Windows 10, Bash-skript , Linux-kommandolinjeverktøy, Linux-første verktøy.
Bash-matriser

Arrays er en av de mest brukte og grunnleggende datastrukturer. I denne artikkelen skal vi dekke Bash-matriser, og forklare hvordan du bruker dem i Bash-skriptene dine.