To tylko jedna z 6 stron tej notatki. Zaloguj się aby zobaczyć ten dokument.
Zobacz
całą notatkę
Systemy operacyjne / Programowanie w j ę zyku powłoki 1 Programowanie w j ę zyku powłoki sh Powłoka (interpreter poleceń, ang. shell ) jest programem uruchamianym standardowo po otwarciu sesji uŜytkownika przez proces login . Powłoka jest aktywna aŜ do wystąpienia znaku , który powoduje jej zatrzymanie i zgłoszenie tego faktu do j ą dra systemu . KaŜdy uŜytkownik otrzymuje własny i odrębny egzemplarz sh . Program sh wypisuje monit $ na ekranie, dając znać o swojej gotowości do przyjęcia polecenia ( komendy ). Sh funkcjonuje wg następującego schematu: 1. wypisuje monit, 2. czeka na wprowadzenie tekstu z klawiatury, 3. analizuje wiersz polecenia i znajduje program, 4. zleca jądru wykonanie programu, 5. przyjmuje odpowiedź od jądra, ponownie wypisuje monit. Systemy operacyjne / Programowanie w j ę zyku powłoki 2 W czasie inicjalizacji powłoki przypisywane są wartości zmiennym powłoki, a następnie wykonywany jest skrypt systemowy definiujący dalsze elementy otoczenia powłoki. Dla sh oraz ksh skrypt ten nosi nazwę .profile , dla csh .login oraz .cshrc . W zaleŜności od typu interpretera poleceń lista plików inicjacyjnych moŜe być bardzo rozbudowana. Przykładowo, lista plików inicjacyjnych dla interpretera zsh jest następująca: • /etc/zprofile • /etc/zlogin • /etc/zshrc • /etc/zshenv • ... oraz ich odpowiedniki kropkowe w katalogu domowym uŜytkownika. Systemy operacyjne / Programowanie w j ę zyku powłoki 3 U Ŝ ytkownik i jego otoczenie W systemie Unix wyróŜnia się dwa rodzaje uŜytkowników: • zwykli, • systemowi (superuŜytkownicy, ang. superusers ). KaŜdy nowy uŜytkownik musi być włączony do systemu przez u Ŝ ytkownika systemowego - pełniącego funkcje administratora systemu. Do pliku /etc/passwd wpisywane są następujące informacje: • nazwa uŜytkownika, • hasło, • uid (ang. user identification ), • gid (ang. group identification ), Systemy operacyjne / Programowanie w j ę zyku powłoki 4 • informacja o uŜytkowniku, • katalog domowy uŜytkownika, • nazwa powłoki inicjowanej po otwarciu sesji. Przykład Wiersz z pliku /etc/passwd moŜe wyglądać następująco: labsou8: hasło zakodowane :201:50::/usr/labsou8:/bin/sh
(…)
… przez uŜytkownika,
PS1
- (ang. Prompt String 1) pierwszy znak zachęty powłoki,
standardowo jest to znak ,,$’’,
PS2
- (ang. Prompt String 2) drugi znak zachęty powłoki. Standardowo
jest to znak ,,>’’,
SHELL
- przy wywołaniu nowej powłoki sprawdzana jest definicja zmiennej
SHELL,
TERM
- rodzaj terminala stosowanego przez uŜytkownika np. vt100,
TZ
- (ang. Time Zone) strefa czasowa,
TERMCAP- plik zawierający…
… / Programowanie w języku powłoki
17
Systemy operacyjne / Programowanie w języku powłoki
18
Instrukcja wyboru (case)
Instrukcja warunkowa (if)
Instrukcja wyboru pozwala na wielokrotne rozgałęzienie. Ogólny jej zapis
wygląda następująco:
Ogólny zapis jest następujący:
if ciąg_komend_1
then ciąg_komend_2
{else ciąg_komend_3}
fi
case słowo in
wzór_1) lista_komend_1;;
wzór_2) lista_komend_2…
... zobacz całą notatkę
Komentarze użytkowników (0)