LINUX

Il comando sorgente in Linux

Il comando sorgente è un comando di shell integrato utilizzato per leggere ed eseguire comandi da un file all’interno della sessione di shell corrente. Il comando source è comunemente usato per mantenere/modificare la variabile d’ambiente nella shell corrente. In breve, il provisioning di uno script eseguirà i comandi di esecuzione guscio attuale.

Il comando source è utile per:

  • Aggiornamento dell’ambiente shell corrente
  • Per eseguire uno script di shell nel contesto dell’ambiente corrente
  • Per importare una funzione di shell nel tuo script
  • Legge le variabili da uno script di shell

Sintassi per il comando source

La sintassi per questo comando di shell integrato è leggibile dall’uomo. È richiesto un file e, se vengono forniti argomenti, fungono da parametri posizionali per lo script passato.

source FILENAME [ARGUMENTS]

Il . (punto) può essere utilizzato anche come alternativa al comando source.

. FILENAME [ARGUMENTS]

Come usare il comando source

Qui spiego alcuni esempi pratici in cui è possibile applicare il comando source.

1. Aggiorna il tuo attuale ambiente di shell

Come utente, puoi definire un alias nell’ambiente shell corrente. Per definire uno per ls -l genere:

alias ll="ls -l"

Per usarlo digita:

ll

Sebbene quanto sopra elenchi i file nella directory corrente in formato lungo, funziona solo per la sessione di shell corrente. Per rendere permanenti le modifiche, apri il file ~/.bashrc e aggiungi:

alias ll="ls -l"

Per aggiornare la shell corrente tipo di ambiente:

source ~/.bashrc

2. Eseguire uno script shell nel contesto dell’ambiente shell corrente

Uno script di shell non è a conoscenza delle variabili definite come utente nell’ambiente di shell corrente. Il comando source può essere utilizzato per eseguire lo script della shell nel contesto della sessione corrente.

Per definire un tipo di variabile temporanea:

WEBSITE = example.com

Per creare un tipo di script personalizzato:

#!/bin/bash
echo $WEBSITE

Salva il file. Per eseguirlo nel contesto del tipo di sessione di shell corrente:

source ./myscript.sh

L’output è mostrato di seguito.

example.com

3. Importare una funzione di shell

Per definire un tipo di script di shell personalizzato:

!#/bin/bash
foo() {
 echo  "test"
 }

Salva quanto sopra come script.sh.

Per importare la funzione dallo script sopra nel tipo di sessione shell corrente:

source script.sh

Usare foo tipo di funzione:

foo

L’output è mostrato di seguito.

test

4. Leggere le variabili da uno script di shell

Per creare uno script di shell con alcune variabili, digitare:

#!/bin/bash
a=1
b=2
c=3

Per leggere le variabili da un altro tipo di script di shell:

#!/bin/bash
source abovescript.sh
echo $a, $b, $c

L’output dovrebbe essere:

1, 2, 3

5. Leggere ed eseguire i comandi

Il comando source può leggere ed eseguire comandi da un file. Prendiamo un file di testo con una serie di comandi.

Ad esempio, il file commands.txt ha il seguente contenuto:

pwd
date

Uscita sorgente :

$ source firstexample.txt
/home/developer
Fri Feb 25 11:10:11:09 GMT 2021

6. Passa argomenti alle funzioni

Questa sezione descrive come passare il parametro della funzione e la stessa funzione che possiamo riutilizzare tramite il comando source.

funzioni.sh

!/usr /bin/bash
 var1=$1
 var2=$2

eseguire.sh

!/usr/bin/bash
 source functions.sh 10 AA
 echo “var1 = $var1”
 echo “var2 = $var2”

Esci.sh

var1 = 10
var2 = AA

Conclusione

Il comando source ha valutato lo script nella shell corrente, mentre il comando exec viene eseguito in una nuova shell.

Attraverso questo articolo, hai appreso quattro esempi pratici del comando source. Mentre tutti sono utili, il più importante per te come utente è il primo.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close