O'Reilly logo

Bash. Receptury by Cameron Newham, JP Vossen, Carl Albing

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ( ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required