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"