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.