5.16. Wykorzystanie wartości innych niż stały ciąg tekstowy jako wartości domyślnych

Problem

Chcemy wykorzystać jako domyślną wartość zmiennej inną wartość niż wstępnie zdefiniowany ciąg tekstowy.

Rozwiązanie

W instrukcjach odwołania do zmiennych można stosować po prawej stronie operatora bardziej rozbudowane konstrukcje programistyczne. Oto przykład:

cd ${BASE:="$(pwd)"}

Analiza

Jak nietrudno zauważyć, w przedstawionym fragmencie kodu podstawiana wartość niekoniecznie musi być stałym ciągiem tekstowym. Może natomiast być wynikiem bardziej złożonego wyrażenia powłoki, w tym również wynikiem wykonania polecenia w podpowłoce (tak jak to zostało pokazane w przykładzie). Jeżeli wartość zmiennej $BASE nie będzie zdefiniowana, powłoka wykona wbudowane polecenie ...

Get Bash. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.