Android

Bash-kildekommando

Bash Scripting : Source and Fork your Scripts

Bash Scripting : Source and Fork your Scripts

Indholdsfortegnelse:

Anonim

Kildekommandoen læser og udfører kommandoer fra den fil, der er angivet som dens argument i det aktuelle shell-miljø. Det er nyttigt at indlæse funktioner, variabler og konfigurationsfiler i shell-scripts.

source er et shell, der er indbygget i Bash og andre populære skaller, der bruges i Linux- og UNIX-operativsystemer. Dens opførsel kan være lidt forskellig fra skal til skall.

Kildekommandosyntax

Syntaks for source er som følger:

source FILENAME. FILENAME

  • source og . (en periode) er den samme kommando. Hvis FILENAME ikke er en fuld sti til en fil, vil kommandoen søge efter filen i de mapper, der er angivet i $PATH miljøvariablen. Hvis filen ikke findes i $PATH vil kommandoen søge efter filen i det aktuelle bibliotek. Hvis der er angivet nogen ARGUMENTS , vil de blive positionsparametre til FILENAME Hvis FILENAME findes, er source exit-kode 0 , ellers hvis filen ikke findes, vil den returnere 1 .

Eksempler på kildekommandoer

I dette afsnit vil vi se på nogle grundlæggende eksempler på, hvordan man bruger source .

Sourcing-funktioner

I dette eksempel opretter vi en fil, der indeholder en bash-funktion, der kontrollerer, om brugeren, der kører scriptet, er root, og hvis ikke, viser den en meddelelse og afslutter scriptet.

functions.sh

check_root () { if]; then echo "This script must be run as root" exit 1 fi }

Nu i hvert af dine scripts, der kun skal køres af rodbrugeren, skal du simpelthen kilde til filen filen.sh og kalde funktionen:

#!/usr/bin/env bash source functions.sh check_root echo "I am root"

Fordelen ved denne tilgang er, at dine scripts vil være mindre og mere læsbare, du kan genbruge den samme funktionsfil, når det er nødvendigt, og i tilfælde af at du har brug for at ændre en funktion, redigerer du kun en fil.

Bash-konfigurationsfil

Med source kan du også læse variabler fra en fil. Variablerne skal indstilles ved hjælp af Bash-syntaks, VARIABLE=VALUE .

Lad os oprette en testkonfigurationsfil:

config.sh

VAR1="foo" VAR2="bar"

Brug source til at læse konfigurationsfilen i dit bash-script:

#!/usr/bin/env bash source config.sh echo "VAR1 is $VAR1" echo "VAR2 is $VAR2"

VAR1 is foo VAR2 is bar

Konklusion

I denne vejledning har du lært, hvordan du bruger den indbyggede source kommando i dine shell-scripts.

bash terminal