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

3.2. Umieszczenie danych w skrypcie

Problem

Działanie skryptu wymaga dostarczenia danych, które nie powinny być zapisane w oddzielnym pliku.

Rozwiązanie

Należy zastosować mechanizm osadzania dokumentu (ang. here-document), dostarczający tekst z wiersza polecenia, a nie z pliku. Wykorzystanie tego rozwiązania w skrypcie pozwala na zapisanie przetwarzanych danych wraz z kodem tego skryptu.

Oto przykład skryptu powłoki zapisanego w pliku o nazwie wew:

$ cat wew
#
# Oto osadzony dokument:
#
grep $1 <<EOF
Michał x.123
Jan    x.234
Ala    x.555
Piotr  x.818
Ania   x.822
Bartek x.919
EOF
$

Pozwala on na wyszukiwanie wpisów w nieskomplikowanej książce telefonicznej dla numerów wewnętrznych:

$ ./wew Ala
Ala    x.555
$

lub:

$ ./wew 555
Ala    x.555
$

Analiza

Polecenie grep odpowiada ...

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