<Poprzedni | Spis treści | Następne>
Pierwszy etap: minimalny dokument
Pierwszą rzeczą, którą musimy wiedzieć, jest format dobrze sformułowanego dokumentu HTML. To wygląda tak:
Tytuł strony
Treść strony.
Tytuł strony
Treść strony.
Jeśli wprowadzimy to do naszego edytora tekstu i zapiszemy plik jako foo.html, możemy użyć następującego adresu URL w przeglądarce Firefox, aby wyświetlić plik:
plik:///home/nazwa użytkownika/foo.html
W pierwszym etapie naszego programu będziemy mogli wyprowadzić ten plik HTML na standardowe wyjście. Możemy napisać program, który to zrobi całkiem łatwo. Uruchommy nasz edytor tekstu i utwórzmy nowy plik o nazwie ~/bin/sys_info_page:
[ja@linuxbox ~]$ vim ~/bin/sys_info_page
[ja@linuxbox ~]$ vim ~/bin/sys_info_page
i wprowadź następujący program:
#! / bin / bash
# Program wyświetlający echo strony z informacjami o systemie " "
Echo " "
Echo " Tytuł strony " Echo " "
Echo " "
echo "Treść strony." Echo " "
Echo " "
#! / bin / bash
# Program wyświetlający echo strony z informacjami o systemie " "
Echo " "
Echo " Tytuł strony " Echo " "
Echo " "
echo "Treść strony." Echo " "
Echo " "
Nasza pierwsza próba rozwiązania tego problemu zawiera shebang, komentarz (zawsze dobry pomysł) i sekwencję przegapić polecenia, po jednym dla każdej linii wyjścia. Po zapisaniu pliku uczynimy go wykonywalnym i spróbujemy go uruchomić:
[ja@linuxbox ~]$ chmod 755 ~/bin/sys_info_page
[ja@linuxbox ~]$ sys_info_page
[ja@linuxbox ~]$ chmod 755 ~/bin/sys_info_page
[ja@linuxbox ~]$ sys_info_page
Po uruchomieniu programu powinniśmy zobaczyć na ekranie tekst dokumentu HTML, ponieważ plik przegapić polecenia w skrypcie wysyłają swoje dane wyjściowe na standardowe wyjście. Uruchomimy program ponownie i przekierujemy dane wyjściowe programu do pliku sys_info_page.html, abyśmy mogli obejrzeć wynik w przeglądarce internetowej:
[ja@linuxbox ~]$ sys_info_page > sys_info_page.html
[ja@linuxbox ~]$ Firefox sys_info_page.html
[ja@linuxbox ~]$ sys_info_page > sys_info_page.html
[ja@linuxbox ~]$ Firefox sys_info_page.html
Do tej pory tak dobrze.
Pisząc programy, zawsze warto dążyć do prostoty i przejrzystości. Konserwacja jest łatwiejsza, gdy program jest łatwy do odczytania i zrozumienia, nie wspominając już o tym, że może ułatwić pisanie programu poprzez zmniejszenie ilości pisania. Nasza aktualna wersja programu działa dobrze, choć mogłaby być prostsza. Właściwie moglibyśmy połączyć wszystkie polecenia echo w jedno, co z pewnością ułatwi dodanie większej liczby linii do wyjścia programu. Zmieńmy więc nasz program na taki:
Pierwszy etap: minimalny dokument
#! / bin / bash
# Program wyświetlający stronę z informacjami o systemie
Echo "
Tytuł strony
Treść strony.
"
#! / bin / bash
# Program wyświetlający stronę z informacjami o systemie
Echo "
Tytuł strony
Treść strony.
"
Cytowany ciąg może zawierać znaki nowej linii i dlatego może zawierać wiele linii tekstu. Powłoka będzie czytać tekst, aż napotka cudzysłów zamykający. Działa to również w wierszu poleceń:
[ja@linuxbox ~]$ Echo "
[ja@linuxbox ~]$ Echo "
>
>
>
>
>
>
Tytuł strony
>
>
>
>
>
>
> "
> "
Treść strony.
Treść strony.
Wiodący znak „>” to zachęta powłoki zawarta w pliku PS2 zmienna powłoki. Pojawia się za każdym razem, gdy wpiszemy do powłoki instrukcję wielowierszową. Ta funkcja jest obecnie trochę niejasna, ale później, gdy omówimy instrukcje programowania wielowierszowego, okaże się całkiem przydatna.