Hvis du er ny i Linux-verdenen, har du kanskje hørt om kommandoer som utfører forskjellige oppgaver, men noen som 'kilde'-kommandoen kan virke litt forvirrende i begynnelsen. ikke bekymre deg; la oss bryte det ned trinn for trinn.
Hva er kildekommandoen?
Kildekommandoen i Linux er som en tryllestav som lar deg hente inn kommandoer fra en fil og bruke dem direkte i terminalen din. Det er som å ha en oppskriftsbok og kunne bruke oppskriftene med en gang uten å kopiere dem ned.
'Kilde'-kommandoen er en innebygd funksjon i skallet, designet for å utføre kommandoer lagret i en fil direkte i det gjeldende skallmiljøet. Når du bruker 'kilde'-kommandoen, leser den innholdet i den angitte filen, vanligvis en sekvens av kommandoer, og utfører dem som om de ble skrevet direkte inn i terminalen. Denne prosessen skjer innenfor konteksten av den nåværende shell-sesjonen, uten å skape en ny prosess eller tolk. Hvis noen argumenter leveres med kommandoen 'kilde', sendes de som posisjonsparametere til kommandoene i kildefilen. Posisjonsparametrene for gjeldende shell-sesjon forblir imidlertid uendret med mindre de er eksplisitt modifisert av kommandoene i kildefilen. Kommandoen 'kilde' ser etter den angitte filen i kataloger oppført i $PATH miljøvariabel . Hvis filen ikke finnes i noen av disse katalogene, vil den søke i gjeldende katalog. Det er viktig å merke seg at 'kilde'-kommandoen ikke tilbyr noen alternativer; det eneste argumentet er navnet på filen som skal hentes
Syntaks for kildekommando i Linux
Syntaksen til kildekommandoen er grei:
source FILENAME>
Eller tilsvarende:
. filename>
Her refererer 'filnavn' til filen som inneholder kommandoene som skal hentes.
Eksempel på kildekommando i Linux
kildekommando i Linux med eksempler
- Utførelse av Shell-skript:
- Endre miljøvariabler:
- Laster inn konfigurasjonsfiler:
- Definere skallfunksjoner:
Utførelse av Shell-skript:
En av de primære brukstilfellene for kildekommandoen er å utføre skallskript i det gjeldende skallmiljøet. Dette lar skriptet manipulere variabler, funksjoner og andre skallfunksjoner direkte.
Tenk deg at du har et skallskript kalt 'myscript.sh' som setter en variabel og deretter ekko dens verdi:
# myscript.sh
#!/bin/bash
# Angi en variabelknappen for å sentrere cssMY_VARIABLE=Hei, fra myscript.sh
# Ekko variabelen
ekko $MY_VARIABLE
La oss nå bruke kildekommandoen til å utføre dette skriptet i det gjeldende skallet:
source myscript.sh>

Utføre et shell-skript
Forklaring:
- Kildekommandoen utfører kommandoene i 'myscript.sh' direkte i det gjeldende skallmiljøet.
- Variabelen 'MY_VARIABLE' settes i 'myscript.sh' og gjentas, og produserer utdata innenfor gjeldende shell-økt.
Endre miljøvariabler:
Kildekommandoen er avgjørende for å endre miljøvariablene til strømmen skall økt. Dette er spesielt nyttig når et skript må eksportere variabler som påvirker det overordnede skallmiljøet.
# environment_setup.sh
#!/bin/bash
# Eksporter en variabelkajal aggarwalexport MY_ENV_VARIABLE=Dette er min miljøvariabel
La oss nå bruke kildekommandoen til å endre miljøvariablene i det gjeldende skallet:

Endre miljøvariabel
source environment_setup.sh>
For å bekrefte endringene kan du gjenta miljøvariabelen:
echo $MY_ENV_VARIABLE>
Forklaring:
- Kildekommandoen utfører skriptet «environment_setup.sh», som eksporterer variabelen «MY_ENV_VARIABLE».
- Etter å ha hentet skriptet, blir miljøvariabelen 'MY_ENV_VARIABLE' tilgjengelig i den gjeldende shell-økten, noe som vises ved å gjengi verdien.
Laster inn konfigurasjonsfiler:
Mange applikasjoner i Linux er avhengige av konfigurasjonsfiler. Ved å bruke kildekommandoen kan disse konfigurasjonsfilene lastes direkte inn i det gjeldende skallet, for å sikre at endringer trer i kraft umiddelbart.
Tenk på et scenario der du har gjort endringer i '.bashrc'-konfigurasjonsfilen, for eksempel å legge til et nytt alias:
# Legg til et alias til .bashrc
alias myalias=’ls -la’
La oss nå bruke kildekommandoen til å laste den oppdaterte konfigurasjonsfilen inn i gjeldende skall:
source ~/.bashrc>
Nå kan du bruke det nylig lagt til aliaset 'myalias':
myalias>

Laster inn konfigurasjonsfil
Forklaring:
- Kildekommandoen laster den oppdaterte '.bashrc'-filen inn i gjeldende shell-sesjon, og inkluderer eventuelle endringer som er gjort i aliaser eller andre konfigurasjoner.
- Etter å ha hentet '.bashrc', blir det nylig lagt til alias 'myalias' tilgjengelig for umiddelbar bruk, som demonstrert ved å kjøre den og liste innholdet i gjeldende katalog.
Definere skallfunksjoner:
Skallfunksjoner som er definert i et skript, kan gjøres tilgjengelig i gjeldende shell-sesjon ved å hente skriptet som inneholder disse funksjonene.
Anta at du har et skript som heter 'my_functions.sh' som definerer en skallfunksjon:
# mine_funksjoner.sh
#!/bin/bash
# Definer en skallfunksjonmin_funksjon() {
echo Dette er min egendefinerte funksjon
}
La oss nå bruke kildekommandoen for å gjøre denne funksjonen tilgjengelig i gjeldende skall:
java erstatte tegn i streng
source my_functions.sh>
Nå kan du kalle opp funksjonen direkte i skallet:
my_function>

Definere skallfunksjoner
Forklaring:
- Kildekommandoen utfører skriptet 'my_functions.sh', som definerer en skallfunksjon kalt 'my_function'.
- Etter å ha hentet skriptet, blir funksjonen 'my_function' tilgjengelig for umiddelbar bruk i gjeldende shell-sesjon, som demonstrert ved å kalle den og gjenta meldingen.
Konklusjon
Avslutningsvis fungerer 'kilde'-kommandoen i Linux som et kraftig verktøy for sømløs integrering av kommandoer, innstillinger og funksjoner fra eksterne filer direkte inn i det gjeldende skallmiljøet. Fungerer som en kanal mellom terminalsesjonen og filer som inneholder instruksjoner, «kilde»-kommandoen utfører kommandoene i den angitte filen som om de ble skrevet direkte inn i terminalen. Dette muliggjør dynamisk modifisering av miljøvariabler, utførelse av shell-skript, lasting av konfigurasjonsfiler og tilgjengelighet av egendefinerte shell-funksjoner i gjeldende shell-økt. Ved å utnytte mulighetene til «kilde»-kommandoen, kan Linux-brukere øke produktiviteten og effektiviteten i systemadministrasjon og utviklingsoppgaver, og innlede et nytt nivå av kommandolinjedyktighet og fleksibilitet.