Android

Bash-kildekommando

Source Shell Script vs Executing Shell Script - The Real Difference

Source Shell Script vs Executing Shell Script - The Real Difference

Innholdsfortegnelse:

Anonim

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. Hvis FILENAME 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 noen ARGUMENTS er gitt, vil de bli posisjonsparametere til FILENAME . Hvis FILENAME eksisterer, er source avgangskode 0 , ellers Hvis filen ikke er funnet, vil den returnere 1 .

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:

config.sh

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"

VAR1 is foo VAR2 is bar

Konklusjon

I denne guiden har du lært hvordan du bruker kildebygde-kommandoen i skallskriptene dine.

bash terminal