15.6. Przenośność instrukcji echo

Problem

Dany skrypt musi działać poprawnie w różnych wersjach systemów Unix i Linux. Wykorzystywana w nim instrukcja echo musi więc realizować zadania w jednakowy sposób, nawet jeśli na danej platformie nie jest dostępny interpreter bash.

Rozwiązanie

Rozwiązanie polega na zastosowaniu polecenia printf "%b" dowolna treść lub na sprawdzeniu wersji systemu i włączeniu opcji xpg_echo za pomocą instrukcji shopt –s xpg_echo.

Pominięcie symbolu "%b" (zapisanie instrukcji printf dowolna treść) spowoduje, że polecenie printf będzie interpretowało wszystkie symbole rozpoczynające się od znaku %, które występują w ciągu dowolna treść. Specyfikator formatu "%b" jest rozszerzeniem standardowego mechanizmu formatowania instrukcji ...

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.