Wartość każdej zmiennej predefiniowanej w systemie można wyświetlić używając następującej składni:

$  echo  ${nazwa zmiennej}

 

Jeżeli np. chciałbyś wyświetlić zawartość katalogu domowego to należy w linii poleceń wystukać:

$  echo  $HOME

 

Omawiamy w tej chwili tzw. zmienne środowiskowe, które są na stale zdefiniowane w systemie, aby zobaczyć pełną ich listę  należy użyć  polecenia  env. Wśród zmiennych, które można w ten sposób wyświetlić znajdują się  m.in.:

(generalnie predefiniowane zmienne systemowe zawsze – z nielicznymi wyjątkami – są pisane wielkimi literami)

HOME

LINES

LOGNAME

PWD

SHELL

TERM

 

Użytkownik może utworzyć także własne zmienne, które mogą być użyte w programie lub linii poleceń. Aby utworzyć na przykład nową zmienną o nazwie: pytanie, należy zastosować następującą składnie:

$ pytanie=tak

 

Dostęp do wartości przechowywanej w zmiennej uzyskuje się po wpisaniu nazwy zmiennej poprzedzonej znakiem $ :

$  echo   $pytanie

tak

 

Jeżeli użyjemy teraz polecenia  set to zmienna ta (wśród innych zmiennych) wyświetli się na ekranie, jednak będzie umieszczona wśród innych zmiennych więc zapewne trudna do odszukania. Co trzeba zrobić – jakiej konstrukcji użyć – by wyselekcjonować tylko ją spośród innych zmiennych wyświetlanych na ekranie przy pomocy polecenia  set ?

Użyjemy konstrukcji „potoków” (rozdział…) i polecenia grep :

$    set  |   grep ‘pytanie’

pytanie=tak

 

Zmienna pytanie pojawi się na ekranie gdy zastosujemy  polecenie  set, nie zobaczymy jej jednak jeśli użyjemy polecenia  env, ponieważ zmienna  pytanie została utworzona w lokalnym środowisku użytkownika i tylko lokalnie można się do niej odwoływać. Aby była dostępna we wszystkich procedurach i procesach trzeba zmienić jej status lokalny na środowiskowy. Do tego celu służy polecenie export :

$  export  pytanie

 

 

Programowanie Rozdział 9.4 Darmowy kurs Linux