Om du är ny i Linux-världen kanske du har hört talas om kommandon som gör olika uppgifter, men vissa som kommandot 'källa' kan verka lite förvirrande till en början. Oroa dig inte; låt oss dela upp det steg för steg.
Vad är källkommandot?
Källkommandot i Linux är som en trollstav som låter dig ta in kommandon från en fil och använda dem direkt i din terminal. Det är som att ha en receptbok och kunna använda recepten direkt utan att kopiera ner dem.
Kommandot 'källa' är en inbyggd funktion i skalet, designad för att utföra kommandon lagrade i en fil direkt i den aktuella skalmiljön. När du använder kommandot 'källa' läser det innehållet i den angivna filen, vanligtvis en sekvens av kommandon, och kör dem som om de skrevs direkt i terminalen. Denna process sker inom ramen för den aktuella skalsessionen, utan att skapa en ny process eller tolk. Om några argument tillhandahålls med kommandot 'källa', skickas de som positionsparametrar till kommandona i källfilen. Positionsparametrarna för den aktuella skalsessionen förblir dock oförändrade såvida de inte uttryckligen ändras av kommandona i källfilen. Kommandot 'källa' letar efter den angivna filen i kataloger listade i $PATH miljöfaktor . Om filen inte hittas i någon av dessa kataloger kommer den att söka i den aktuella katalogen. Det är viktigt att notera att kommandot 'källa' inte erbjuder några alternativ; dess enda argument är namnet på filen som ska hämtas
Syntax för källkommando i Linux
Syntaxen för källkommandot är enkel:
source FILENAME>
Eller motsvarande:
. filename>
Här hänvisar 'filnamn' till filen som innehåller kommandona som ska hämtas.
Exempel på källkommando i Linux
källkommando i Linux med exempel
- Utförande av Shell-skript:
- Ändra miljövariabler:
- Laddar konfigurationsfiler:
- Definiera skalfunktioner:
Utförande av Shell-skript:
Ett av de primära användningsfallen för källkommandot är att köra skalskript inom den aktuella skalmiljön. Detta gör att skriptet kan manipulera variabler, funktioner och andra skalfunktioner direkt.
Föreställ dig att du har ett skalskript som heter 'myscript.sh' som ställer in en variabel och sedan ekar dess värde:
# myscript.sh
#!/bin/bash
# Ställ in en variabelLika strängar i javaMY_VARIABLE=Hej, från myscript.sh
# Eka variabeln
echo $MY_VARIABLE
Låt oss nu använda källkommandot för att köra det här skriptet i det aktuella skalet:
source myscript.sh>

Exekvera ett skalskript
java sortera en lista
Förklaring:
- Källkommandot utför kommandona inom 'myscript.sh' direkt i den aktuella skalmiljön.
- Variabeln 'MY_VARIABLE' ställs in i 'myscript.sh' och ekade, vilket producerar utdata inom den aktuella skalsessionen.
Ändra miljövariabler:
Källkommandot är avgörande för att modifiera strömmens miljövariabler skal session. Detta är särskilt användbart när ett skript behöver exportera variabler som påverkar den överordnade skalmiljön.
# environment_setup.sh
#!/bin/bash
# Exportera en variabelexport MY_ENV_VARIABLE=Detta är min miljövariabel
Låt oss nu använda källkommandot för att ändra miljövariablerna i det aktuella skalet:

Ändra miljövariabel
source environment_setup.sh>
För att verifiera ändringarna kan du upprepa miljövariabeln:
echo $MY_ENV_VARIABLE>
Förklaring:
- Källkommandot kör skriptet 'environment_setup.sh', som exporterar variabeln 'MY_ENV_VARIABLE'.
- Efter att ha hämtat skriptet blir miljövariabeln 'MY_ENV_VARIABLE' tillgänglig i den aktuella skalsessionen, vilket framgår av att dess värde ekar.
Laddar konfigurationsfiler:
Många applikationer i Linux är beroende av konfigurationsfiler. Genom att använda källkommandot kan dessa konfigurationsfiler laddas direkt i det aktuella skalet, vilket säkerställer att ändringar träder i kraft omedelbart.
Tänk på ett scenario där du har gjort ändringar i din '.bashrc'-konfigurationsfil, som att lägga till ett nytt alias:
# Lägg till ett alias till .bashrc
alias myalias=’ls -la’
Låt oss nu använda källkommandot för att ladda den uppdaterade konfigurationsfilen i det aktuella skalet:
source ~/.bashrc>
Nu kan du använda det nyligen tillagda aliaset 'myalias':
myalias>

Laddar konfigurationsfil
Förklaring:
- Källkommandot laddar den uppdaterade '.bashrc'-filen till den aktuella skalsessionen, inklusive alla ändringar som gjorts i alias eller andra konfigurationer.
- Efter att ha hämtat '.bashrc' blir det nyligen tillagda aliaset 'myalias' tillgängligt för omedelbar användning, vilket visas genom att köra det och lista innehållet i den aktuella katalogen.
Definiera skalfunktioner:
Skalfunktioner som definieras i ett skript kan göras tillgängliga i den aktuella skalsessionen genom att anskaffa skriptet som innehåller dessa funktioner.
Anta att du har ett skript som heter 'my_functions.sh' som definierar en skalfunktion:
# my_functions.sh
#!/bin/bash
# Definiera en skalfunktionmin_funktion() {
echo Detta är min anpassade funktion
}css ändrar bildstorlek
Nu, låt oss använda källkommandot för att göra den här funktionen tillgänglig i det aktuella skalet:
source my_functions.sh>
Nu kan du anropa funktionen direkt i skalet:
my_function>

Definiera skalfunktioner
Förklaring:
- Källkommandot kör skriptet 'my_functions.sh', som definierar en skalfunktion som heter 'my_function'.
- Efter att ha hämtat skriptet blir funktionen 'my_function' tillgänglig för omedelbar användning inom den aktuella skalsessionen, vilket visas genom att anropa det och eka dess meddelande.
Slutsats
Sammanfattningsvis fungerar kommandot 'källa' i Linux som ett kraftfullt verktyg för att sömlöst integrera kommandon, inställningar och funktioner från externa filer direkt i den aktuella skalmiljön. Fungerar som en kanal mellan terminalsessionen och filer som innehåller instruktioner, kommandot 'källa' utför kommandona i den angivna filen som om de skrevs direkt i terminalen. Detta möjliggör dynamisk modifiering av miljövariabler, exekvering av skalskript, laddning av konfigurationsfiler och tillgänglighet av anpassade skalfunktioner inom den aktuella skalsessionen. Genom att utnyttja funktionerna i 'källa'-kommandot kan Linux-användare öka produktiviteten och effektiviteten i systemadministration och utvecklingsuppgifter, vilket inleder en ny nivå av kommandoradsförmåga och flexibilitet.