10191 s349

10191 s349



Podstawy programowania w shellu 349

Przykładowy program

Tym razem podarujemy sobie kolejny program w stylu „Cześć, jak się masz?”. Zamiast niego chciałbym zademonstrować coś co może się rzeczywiście przydać. Załóżmy, że interesuje nas uzyskanie efektownie sformatowanego wydruku zawartości bieżącego katalogu. Listing 22.1 stanowi przykładowe podejście do problemu (liczby stojące przed poszczególnymi linijkami nie pojawiają się w rzeczywistym kodzie).

Listing 22.1. Skrypt druku j kat przesyła podzieloną na strony listę plików i katalogów do drukarki

1.    #!/bin/bash

2.    łPrzykiadowy skrypt iinuksowy

3.    ttJan Walter jwalter@rogers .wave .ca

4.    #Rozdział 2?

5.    łCopyright 1998 Macmillan Computer Publishing oraz Jan Walter

6.    łWszystkie prawa zastrzeżone

7.    łkiniejszy kod nie jest objęty żadna gwarancja.

8.    ls “1 > /tmp/lst.Rmp

9.    pr /tmp/lsteir.p I lpr

10.    rm /tnp/lstemp

11. łkonieo skryptu

Do uruchomienia powyższego skryptu zaleca się otwarcie sesji na koncie zwykłego użytkownika (nie administratora). Konieczne jest posiadanie zainstalowanej i odpowiednio skonfigurowanej drukarki. Wykonanie skryptu polega na kolejnym wykonaniu wszystkich zawartych w nim poleceń. Oto opis ważniejszych operacji:

■    Linijka 1 mówi systemowi, który shell należy uruchomić w celu wykonania skryptu. Jest to ważne, ponieważ różne shcllc udostępniają różne polecenia.

■    Linijka 8 uruchamia polecenie ls -1 i zapisuje wyniki w tymczasowym katalogu sys temowym.

■    Linijka 9 przesyła zawartość pliku lstemp do polecenia pr (dzielącego tekst na strony, numerującego je, dopisującego nagłówek itp. w zależności od podanych parametrów). Wynik zostaje następnie przekazany do programu lpr, zajmującego się wydrukiem. Istotny jest tu sposób połączenia poleceń w potok i przekierowania strumieni, a nie same polecenia.

* Linijka 10 usuwa tymczasowy plik utworzony w linijce 8 (pamiętajmy: dobrze napisany program powinien posprzątać po sobie).

Uruchamianie skryptu

I. Otwórz edytor tekstu, na przykład joc, wpisując:

joe drukujkat


Wyszukiwarka

Podobne podstrony:
s361 Podstawy programowania w shellu 361Powtarzanie poleceń - pętla for for pełni w shellu bash funk
Tofik2 PODSTAWY PROGRAMOWANIA przykład 10. Zakładając, żc a jes* liczbą całkowitą, a tmikcja f zadek
DOM — Document Object Model Podstawy programowania w JavaScript ►
strona 13/18 PODSTAWY PROGRAMOWANIA - PASCAL PRZYKŁADY UŻYCIA INSTRUKCJI WCZYTANIA i WYPISANIA WARTO
s359 Podstawy programowania w sliellu 359 Wyrażenia testowe dla liczb Wyrażenia testowe w shellu bas
s363 Podstawy programowaniu w shellu 363 sie nań funkcje w pamięci operacyjnej. Po wczytaniu bibliot
38952 s355 Podstawy programowania w shellu 35533.    if r SREPLY ]; then 34.  &n
Podstawy Programowania Laboratorium 3 - Praca domowa W przykładzie 6 licznik zmniejsza swoją wartość
Podstawy Programowania Laboratorium 3 - Praca domowa Przykład 11. Podstawy Programowania Laboratoriu
Przykładowe cele nauczania polskiego języka migowego (opracowane na podstawie programu nauczania nor

więcej podobnych podstron