5.15. Wykorzystanie pustego ciągu tekstowego jako poprawnej wartości domyślnej

Problem

Działanie skryptu wymaga wyznaczenia wartości domyślnej, ale za poprawną wartość domyślną powinien być uznawany również pusty ciąg tekstowy. Operacja podmiany domyślnej wartości powinna być wykonywana tylko w przypadku, w którym zmienna nie została zdefiniowana.

Operator ${:=} przypisuje nową wartość zmiennej w dwóch przypadkach — gdy zmienna powłoki nie została wcześniej powołana (lub została usunięta za pomocą instrukcji unset) oraz gdy zmienna jest zdefiniowana, ale przechowuje wartość pustą (np. HOME="" lub HOME=$OTHER, gdzie $OTHER nie przechowuje żadnej wartości).

Rozwiązanie

Powłoka może wykryć obydwa z opisanych przypadków, a pominięcie znaku dwukropka ( ...

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.