Systemy operacyjne materiaªy ¢wiczeniowe

Studia dzienne PJWSTK

‚WICZENIA VI

Skrypty c.d.

• konstrukcje sekwencyjne

◦ grupowanie polece« do wykonania w bie»¡cym shellu

{ <polecenie_1>; <polecenie_2>; ... ; <polecenie_n>;}

◦ grupowanie polece« do wykonania w podshellu ( <polecenie_1>; <polecenie_2>; ... ; <polecenie_n>;)

◦ warunkowe wykonanie polecenia konstrukcja &&

<polecenie_1> && <polecenie_2>

oznacza wykonanie <polecenia_2> je»eli kod powrotu <polecenia_1> (tj. zmienna $?) jest poprawny (tj. zachodzi $? -ne 0)

◦ warunkowe wykonanie polecenia konstrukcja ||

<polecenie_1> || <polecenie_2>

oznacza wykonanie <polecenia_2> je»eli kod powrotu <polecenia_1> (tj. zmienna $?) jest niepoprawny (tj. zachodzi $? -eq 0)

◦ wykonanie polecenia w tle

<polecenie>&

• deskryptory plików

◦ numeracja dost¦pnych deskryptorów

∗ 0 standardowe wej±cie (zarezerwowane)

∗ 1 standardowe wyj±cie (zarezerwowane)

∗ 2 standardowe wyj±cie diagnostyczne (zarezerwowane)

∗ 3, 4, ..., 19 okre±lone przez u»ytkownika (ogólnodost¦pne)

◦ najcz¦±ciej u»ywane przekierowania deskryptorów

<nr_deskryptora> <przekierowanie> <nazwa_pliku> albo

<nr_deskryptora_¹ródªa> <przekierowanie> &<nr_deskryptora_celu> gdzie <przekierowanie> to jeden z operatorów >, <, > >, ..., np.

cat ksiazka.txt 2> diagnostyka

cat ksiazka.txt 2>&1 | wc -w

Zadania

1. Napisz skrypt, który dla zadanego pliku wej±ciowego wypisze jego wiersze w porz¡dku okre±lonym przez ich dªugo±¢.

2. Napisz skrypt, który zliczy cz¦stotliwo±¢ wyst¦powania sªów w danym pliku (przydatne polecenie

tr, zob. manual).

1

c

° Paweª Rembelski