GNU/Linux >> Linux Esercitazione >  >> Linux

Comando sorgente Bash

Il source comando legge ed esegue i comandi dal file specificato come argomento nell'ambiente shell corrente. È utile caricare funzioni, variabili e file di configurazione negli script della shell.

source è una shell integrata in Bash e altre shell popolari utilizzate nei sistemi operativi Linux e UNIX. Il suo comportamento potrebbe essere leggermente diverso da shell a shell.

Sintassi comando sorgente #

La sintassi per il source il comando è il seguente:

source FILENAME [ARGUMENTS]
. FILENAME [ARGUMENTS]
  • source e . (un punto) sono lo stesso comando.
  • Se il FILENAME non è un percorso completo di un file, il comando cercherà il file nelle directory specificate in $PATH variabile ambientale. Se il file non si trova nel $PATH , il comando cercherà il file nella directory corrente.
  • Se ci sono ARGUMENTS vengono forniti, diventeranno parametri posizionali per FILENAME .
  • Se il FILENAME esiste, il source codice di uscita del comandoè 0 , altrimenti, se il file non viene trovato restituirà 1 .

Esempi di comando sorgente #

In questa sezione, esamineremo alcuni esempi di base di come utilizzare il source comando.

Funzioni di approvvigionamento #

Se disponi di script di shell che utilizzano le stesse funzioni, puoi estrarli in un file separato e quindi estrarre quel file nei tuoi script.

In questo esempio creeremo un file che include una funzione bash che controlla se l'utente che esegue lo script è root e, in caso contrario, mostra un messaggio ed esce dallo script.

functions.sh
check_root () {
  if [[ $EUID -ne 0 ]]; then
    echo "This script must be run as root" 
    exit 1
  fi
}

Ora in ogni script che deve essere eseguito solo dall'utente root, procura semplicemente functions.sh file e chiama la funzione:

#!/usr/bin/env bash

source functions.sh
check_root

echo "I am root"

Se esegui lo script sopra come utente non root, stamperà "Questo script deve essere eseguito come root" ed esce.

Il vantaggio di questo approccio è che i tuoi script saranno più piccoli e più leggibili, puoi riutilizzare lo stesso file di funzione quando necessario e, nel caso in cui dovessi modificare una funzione, modificherai solo un file.

File di configurazione Bash #

Con il source comando, puoi anche leggere le variabili da un file. Le variabili devono essere impostate utilizzando la sintassi Bash, VARIABLE=VALUE .

Creiamo un file di configurazione di prova:

config.sh
VAR1="foo"
VAR2="bar"

Nel tuo script bash, usa il source comando per leggere il file di configurazione:

#!/usr/bin/env bash

source config.sh

echo "VAR1 is $VAR1"
echo "VAR2 is $VAR2"

Se esegui lo script, l'output sarà simile a questo:

VAR1 is foo
VAR2 is bar

Conclusione #

In questa guida hai imparato a usare il source comando integrato negli script della shell.

Se hai domande o feedback, sentiti libero di lasciare un commento.


Linux
  1. Spiegazione del comando della trappola

  2. Bash wait Comando

  3. Utilizzo del comando Linux Basename negli script Bash

  4. comando di esportazione bash

  5. conda source disattiva:bash:disattiva:nessun file o directory di questo tipo

Comando Gzip in Linux

Comando Gunzip in Linux

Comando Stat in Linux

Comando della cronologia in Linux (Cronologia di Bash)

Comando Bash printf

Scripting Bash(III)