3.3. Wyeliminowanie nietypowego działania osadzonych dokumentów
Problem
Skrypt zawierający osadzony dokument działa niezgodnie z przewidywaniami. Opisana wcześniej metoda przygotowania książki telefonicznej została wykorzystana do sporządzenia listy darczyńców. Utworzony został więc plik o nazwie wpłaty i następującej treści:
$ cat wpłaty
#
# Wyszukiwanie darczyncow
#
grep $1 <<EOF
#imie wpłata
Michał $100
Jan $200
Ala $ 25
Piotr $ 9
EOF
$
Skrypt nie wyświetla jednak poprawnego wyniku:
$ ./wpłaty Ala Michał Ala00 Ala $ 25 $ ./wpłaty Michał Michał Michał00 $
Rozwiązanie
Należy wyłączyć wykonywanie skryptu w osadzonym dokumencie przez zastosowanie symboli specjalnych w odniesieniu do jednego lub wszystkich znaków ogranicznika.
# rozwiązanie grep $1 <<\EOF ...
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.