Podstawy programowania w shcllu 351
kład w trakcie przeprowadzania ważnych obliczeń), tylko z tego powodu, że program ten w danej chwili nie daje znaków' życia.
Listing 22.2. druku]kat2 przesyła podzieloną na strony listę plików i katalogów do drukarki informując jednocześnie użytkownika o przeprowadzanych operacjach
1. #!/bin/bash
2. #drukuj kat?
3. #Jan Walter jwalter@rogers.wave.ca
4. #Rozdzial 22
5. ItCopyright 1998 Macmillan Computer Publishing oraz Jan Waller
6. ((Wszystkie prawa zastrzeżone
7. ItNiniejszy kod nie podlega żadnej gwarancji.
8. echo -n "Wczytywanie zawartości katalogu..."
9. ls -1 > /tmp/istemp
10. echo " gotowe."
11. echo -n "Formatowanie i drukowanie zawartości katalogu..."
12. pr /tmp/lstemp | Ipr
13. echo " gotowe."
14. echo -n "Sprzątanie..."
15. rm /tmp/lstemp 16 . echo " gotowe."
17. fkoniec skryptu_
Oto wynik działania programu:
[ jwalter@ jansrnachine samples_22]$ ./druku jkat2 Wczytywanie zawartości katalogu... gotowe.
Formatowanie i drukowanie zawartości katalogu... gotowe. Sprzątanie... gotowe.
[jwalter@jansmachine samples_22]$
Jeśli katalog zawiera zbyt dużo plików lub jeśli system jest znacznie obciążony, pierwszy krok może nieco potrwać - w takim przypadku zawsze dobrze wiedzieć, czym zajmuje się w danej chwili nasz program. Mechanizm ten jest, rzecz jasna, o wiele użyteczniejszy w przypadku długich i skomplikowanych skryptów.
Polecenie echo to zwykły program (więcej dowiemy się wpisując man echo), a parametr -n mówi, że do tekstu wyświetlanego na ekranie nie należy dopisywać znaku końca wiersza. W tym wypadku echo -n pozwala na umieszczanie związanych ze sobą komunikatów w tych samych wierszach, co poprawia czytelność wydruku.