Bash a magie uvozovek

Bash nemá datové typy, nebo spíše má, ale jen jeden a tím je textový řetězec. Čeho má ale nadbytek, je uvozovek a apostrofů. Nejlepší bude příklad

p=whoami
echo $p
echo '$p'
echo "$p"
echo `$p`

Výsledek

whoami
$p
whoami
vitfo

Příkazem p=whoami vytvoříme proměnnou s hodnotou whoami. Následně se ji pokoušíme vypsat. K hodnotě proměnné se přistupuje pomocí znaku dolar a názvu proměnné ($p). Při obrácených apostrofech Basch chápe řetězec jako příkaz (výsledkem je vitfo). V případě jednoduchých uvozovek je text chápán doslovně a je v něm zamezeno nahrazování proměnných jejich hodnotou (u dvojitých uvozovek se proměnná nahradí hodnotou) což ilustruje další příklad:

w=World
echo "Hello $w!"
echo 'Hello $w!'

Výsledek

Hello World!
Hello $w!

A ještě jedna drobnost. Pokud chceme vytvořit proměnnou obsahující delší text, musíme použít dvojité závorky.

sentence=Toto je věta.
echo $sentence
./script.sh: řádek 12: je: příkaz nenalezen

sentence="Toto je věta."
echo $sentence 
Toto je věta.

Zdroj: www.root.cz/clanky/programovani-v-bash-shellu/

Napsat komentář