GNU/Linux >> Linux Esercitazione >  >> Linux

Che cos'è il comando sorgente in Linux e come funziona?

Il comando source esegue i comandi da un file nella shell corrente. Può anche essere utilizzato per aggiornare le variabili di ambiente e, ad essere onesti, l'uso principale del comando sorgente è aggiornare le variabili di ambiente.

source filename [options]

Puoi anche usare . (punto) invece del comando sorgente come questo:

. filename [options]

Come funziona il comando sorgente?

La sintassi di questo comando è semplice, ma comprenderlo richiede uno sguardo leggermente più approfondito ad alcuni concetti di Linux. Se sei nuovo di zecca su Linux o sulla programmazione, potresti avere solo una vaga idea di cosa sia una variabile.

Se hai sentito questo termine, ma non sai esattamente cosa significa, va bene! Ricorda, tutti noi partiamo esattamente dallo stesso punto. Nessuno si sveglia improvvisamente la mattina essendo un amministratore di sistema o un programmatore.

Darò una breve spiegazione prima di andare avanti.

Puoi saltare all'intestazione successiva se hai già familiarità con come creare variabili in bash.

Panoramica delle variabili

Puoi aprire qualsiasi terminale bash e creare nuove variabili. Una variabile può essere considerata come un segnaposto che può essere utilizzato per indirizzare il sistema a un'informazione (lettere, numeri o simboli).

Diamo un'occhiata a un esempio. Creerò una nuova variabile chiamata name e assegnerò il valore Christopher.

In bash, questo viene fatto usando la formula:variable_name=your_variable . Non aggiungere spazi tra = simbolo e il tuo testo.

[email protected]:~$ name=Christopher
[email protected]:~$ echo $name
Christopher

Cosa succede se scrivo semplicemente il nome della variabile?

[email protected]:~$ echo name
name

Se dimentichi questo simbolo, bash restituirà il testo che hai inserito. Qui, gli dico di fare eco, o stampare, "nome". Senza il simbolo $, bash non riconosce che desideri utilizzare la variabile che hai creato.

La tua variabile verrà inserita dove viene chiamata. Quindi posso anche includerlo in una frase come questa:

[email protected]:~$ echo "Hello, $name. $name is a great name. It's good to meet you."
Hello, Christopher. Christopher is a great name. It's good to meet you.

Ci sono molte cose che puoi fare con le variabili, ma spero che il primer sia sufficiente per consentire a chiunque legga di capire come funzionano.

Variabili d'ambiente vs variabili shell

Per la prossima chiave per comprendere il comando sorgente, parliamo di persistenza. Questo è un modo semplice per pensare alla differenza tra guscio e contenuto ambientale. Potresti anche pensarlo in termini di "portabilità" a seconda del contesto.

In poche parole, se crei una variabile in una shell di terminale, andrà persa una volta che esci da quella shell.

Al contrario, una variabile ambientale ha persistenza nel sistema operativo. Queste variabili in genere utilizzano tutte maiuscole per distinguersi.

Un esempio di questo è il tuo nome utente che è noto al sistema operativo come $USER.

[email protected]:~$ echo $USER
christopher

Ok, quindi hai passato un bel po' di tempo a esaminare le differenze tra le variabili di ambiente e shell. Che cosa ha a che fare con fonte ? Tutto, davvero.

Altrimenti non ci sarebbe alcuna differenza nell'esecuzione di source e bash . Per illustrare questo punto, ho in programma un'altra dimostrazione.

Source vs Bash

Se sei in giro con Linux da un po' di tempo, potresti aver riscontrato questi comandi e pensato che facessero la stessa cosa. Dopotutto, entrambi i comandi possono essere utilizzati per eseguire uno script.

Source funziona nella shell corrente, a differenza dell'esecuzione di bash che crea una nuova shell. Questo non è ovvio poiché non vengono visualizzate nuove finestre.

Se stai seguendo, questo ti richiederà di scrivere uno script molto semplice (chiamiamolo echo.sh) che assomiglia a questo:

#! bin/bash

echo $USER
echo $name

Prima di fare qualsiasi altra cosa nel tuo terminale, assegna il tuo nome al nome della variabile.

[email protected]:~$ name=chris

Successivamente, ti mostrerò cosa succede quando provi tutti e 3 i comandi nello stesso terminale in cui hai assegnato la tua variabile.

[email protected]:~$ bash echo.sh 
christopher

[email protected]:~$ source echo.sh 
christopher
chris
[email protected]:~$ . echo.sh 
christopher
chris

Come puoi vedere, la tua variabile locale non è stata riconosciuta quando hai eseguito lo script tramite bash .

Aggiorna le variabili di ambiente con il comando sorgente

Source può anche essere usato per aggiornare le variabili ambientali nella shell corrente. Un'applicazione comune per questa attività è l'aggiornamento del tuo profilo bash nella shell corrente.

Un utente potrebbe voler modificare il proprio profilo bash per, ad esempio, creare un alias. Normalmente, una volta salvata la configurazione, sarà necessario aprire una nuova finestra di terminale affinché le modifiche avvengano.

[email protected]:~$ source .bashrc 

L'esecuzione aggiornerà le impostazioni nella tua shell corrente senza costringerti ad aprire un nuovo terminale.

Conclusione

Ci auguriamo che questo tutorial sul comando source ti sia piaciuto. Come sempre, fateci sapere i vostri pensieri nella sezione commenti. Se ti è piaciuto questo post, condividilo sui social media utilizzando i pulsanti qui sotto.


Linux
  1. Che cos'è un comando Chown in Linux e come usarlo

  2. Cos'è NGINX? Come funziona?

  3. Che cos'è un server Web e come funziona un server Web?

  4. Come scoprire cosa fa un comando Linux

  5. Cos'è il DNS e come funziona?

Comando file Linux:cosa fa e come usarlo

Linux Tail Command:cos'è e come usarlo

Come installare e utilizzare il comando fd in Linux

Che cos'è il comando Grep in Linux? Perché viene utilizzato e come funziona?

Cos'è BusyBox in Linux? Come usarlo?

Come funziona la memoria di scambio in Linux?