PředchozíNahoruDalšíObsah

3. Proměnné

Proměnné jsou vlastně takové "krabičky" do kterých se ukládají hodnoty (laicky řečeno). Jsou to tedy místa v paměti označená identifikátorem (názvem proměnné). Tento identifikátor představuje pro překladač/interpreter adresu místa v paměti, kde je uložena hodnota odpovídající proměnné. Samozřejmě hodnoty proměnných lze měnit. V bash se proměnné deklarují např takto:

#!/bin/bash
x=5 echo "Hodnota proměnné x je $x."

Z příkladu je tedy dobře vidět, že proměnné se deklarují tím, že se jim přiřadí nějaká hodnota. Je to tedy obdobné jako v BASICu. Další řádka programu vytiskne na obrazovku (tedy pokud nepřesměrujeme výstup :-) větu Hodnota proměnné x je 5.

Z příkladu je též patrno, že k proměnné se přistupuje pomocí znaku symbolu dolaru ($) uvedeného před názvem proměnné. A ještě něco pro ty, kteří rádi mezery mezi =. V bash nesmí být u rovná se mezera! Proměnná x by se totiž brala jako příkaz a rovná se její parametr. Vzhledem k tomu, že příkaz x neexistuje, ohlásil by bash chybu. Používá se tedy zápis:

jméno_proměnné=hodnota_proměnné

Co se proměnných týče, obecně jsou v bash dva typy proměnných. Lokálních (platných pouze pro konkrétní spuštěný skript) a systémových (platných pro celý operační systém, které lze využít všemi programy v systému). Pokud by jste chtěli svou proměnnou udělat jako systémovou, musíte použít tento způsob deklarace:

#!/bin/bash
export x=5

nebo také

#!/bin/bash
x=5
export $x

Systémové proměnné se dají také využít. Například pro zjištění názvu interpretru, který je právě spuštěný:

xconsole$ echo $SHELL
/bin/bash

Systémové proměnné jsou většinou definovány v /etc/profile a v ~/.bash_profile. Příkaz echo je dobrý právě ke zjišťování těchto proměnných. Chtěli-li by jste vypsat seznam všech systémových proměnných v systému, existuje příkaz env, který tyto proměnné vypíše.

PředchozíNahoruDalšíObsah

9. dubna 2001 18:46