Amministratore Linux - Variabili

Le variabili in Bash vengono utilizzate come qualsiasi altro linguaggio di scripting. La sintassi può variare da linguaggi come Perl, Python e Ruby.

La prima cosa che vorremo notare è che le variabili BASH sono disponibili in due varietà di base: variabili globali o di ambiente e variabili di script o locali.

Global or Environment Variablessono impostati su tutte le shell e gli script. Le variabili d'ambiente possono essere visualizzate con i comandi env o printenv -

bash-3.2# printenv 
SHELL=/bin/bash 
TERM=xterm-256color 
USER=root 
SUDO_USER="rick cardon" 
SUDO_UID=501 
USERNAME=root 
MAIL=/var/mail/root 
PATH=/usr/local/pear/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:
/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/ 
PWD=/home/rdc/Desktop 
LANG=en_US.UTF-8

La sintassi comune consiste nell'usare le maiuscole per le variabili d'ambiente e le minuscole per le variabili locali. Queste sono le variabili usate nello script, supponendo che lo script non imposterà o cambierà le variabili d'ambiente della shell.

Script or Local Variables sono accessibili solo alla shell corrente.

#!/bin/bash
num = 0
while [ $num -lt 100 ]
   do 
   num = $[$num+1] 
   echo $num 
   
   if [ $((num % 10)) = 0 ]; 
      then 
      sleep 5s 
   fi 
done

echo $PATH

Il piccolo script sopra aumenta semplicemente a 20, si ferma per cinque secondi ogni 5 iterazioni, quindi fa eco una variabile ambientale: il percorso dell'utente corrente -

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
/usr/local/pear/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/opt/
local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Se desideri che una variabile venga visualizzata al di fuori della tua shell, devi utilizzare il seguente comando di esportazione.

#!/bin/bash
export MY_NEW_GLOBAL = "I am Global"