La shell ens permet definir variables on emmagatzemar dades. Tenim dues zones de memòria on podem definir les nostres variables: l'àrea local i l'entorn.

Variables locals: només són visibles per la shell on estem treballant, no són visibles per cap subshell, és a dir, no són visibles per cap subprocés de la shell.

Variables d'entorn: són visibles tant per la shell on estem com per qualsevol subshell que obrim (o per qualsevol subprocés de la shell)

NOTA: una variable declarada en un procés fill no serà visible pel seu procés pare (encara que sigui d'entorn)


COMANDES

set

Veure totes les variables definides

env

Veure totes les variables d'entorn definides

nom_var=valor_var

Definir variable i assignar-li valor

export nom_var=valor_var

Definir variable entorn i assignar-li valor

export nom_var

Convertir variable local a variable d'entorn

unset nom_var

Alliberar una variable

::exemple::

$ varmeva=3 declaro una variable local

$ echo $varmeva miro el seu valor

3

$ bash entro en una subshell

$ echo $varmeva no té valor perquè és local

$ exit tornem a la shell principal

$ export $varmeva converteixo la var. local a var. d'entorn

$ echo $varmeva a la shell principal segueixo veient el seu 3 valor 3

$ bash entro en una subshell

$ echo $varmeva ara sí que veiem el seu valor!!! (és

3 d'entorn)

$ exit

Variables predefinides: Disposem també d'una sèrie de variables ja definides que ens poden ser de gran ajuda per tal d'obtenir o desar informació genèrica.


VARIABLES PREDEFINIDES

HOME

Directori de treball actual

PATH

Llocs on podem accedir directament sense escriure el camí

PS1

Prompt primari

PS2

Prompt secundari

BASH

Camí del programa bash

BASH_VERSION

Versió de la bash actual

COLUMNS

Número de columnes a la pantalla

GROUPS

Identificador del grup principal de l'usuari

HISTCMD

Índex a l'històric de la comanda actual

HISTFILE

Fitxer on es guarda l'històric

HISTFILESIZE

Mida del fitxer històric

HOSTNAME

Nom de la màquina

LANG

Idioma per defecte, si no s'ha especificat a cap LC_

LC_ALL

Idioma

PID

Identificador del procés actual

PWD

Camí on estem situats

RANDOM

Número aleatori

SECONDS

Segons que porta encesa la màquina

UID

Identificador de l'usuari actual

::exemple::

$ echo “El meu directori de treball és $HOME i el meu id de grup és $GROUPS”

El meu directori de treball es /home/kp i el meu id de grup és 1000

Darrera modificació: dilluns, 1 juliol 2013, 09:14