Powłoka Bourne’a

Wikipedia:Weryfikowalność
Ten artykuł od 2021-03 wymaga zweryfikowania podanych informacji.
Należy podać wiarygodne źródła w formie przypisów bibliograficznych.
Część lub nawet wszystkie informacje w artykule mogą być nieprawdziwe. Jako pozbawione źródeł mogą zostać zakwestionowane i usunięte.
Sprawdź w źródłach: Encyklopedia PWN • Google Books • Google Scholar • Federacja Bibliotek Cyfrowych • BazHum • BazTech • RCIN • Internet Archive (texts / inlibrary)
Dokładniejsze informacje o tym, co należy poprawić, być może znajdują się w dyskusji tego artykułu.
Po wyeliminowaniu niedoskonałości należy usunąć szablon {{Dopracować}} z tego artykułu.

Powłoka Bourne’a lub sh – historyczna powłoka systemu Unix.

Historia

Stephen Bourne rozpoczął prace nad powłoką pod koniec 1975 roku w Bell Labs w czasie, gdy Ken Thompson przebywał na rocznym urlopie na Uniwersytecie w Berkeley[1]. Powłoka była rozwinięciem wcześniejszego interpretera poleceń o nazwie shell. Jej pierwsze wydanie miało miejsce w 1977 roku w ramach Unix Version 7, dla którego była domyślną powłoką – zastępując wspomnianą powłokę autorstwa Kena Thompsona.

Na większości systemów Unix oraz pokrewnych oryginalna ścieżka /bin/sh wskazuje na plik wykonywalny powłoki zgodnej z nią składniowo, np. ash czy mksh[a].

Język

sh ustanowi także początkowo nieformalny — za sprawą popularyzacji przez książkę The Unix Programming Environment Briana Kernighana i Roba Pike`a — a potem ustandaryzowany przez POSIX język skryptowy.

Składnia struktur kontrolnych została zainspirowana dialektem języka ALGOL 68, nad którym Bourne pracował na Uniwersytecie Cambridge. Wywodzą się z niego postacie if ~ then ~ elif ~ then ~ else ~ fi, case ~ in ~ esac z jedynym odstępstwem w postaci zamiany od na done, jako słowa kończącego pętle for/while[1].

Przykład kodu:

 #!/bin/sh
 echo Hello World!
 echo Dzisiaj jest:
 date
 echo "wszystko OK?: "
 read odp
 if [ "$odp" != "n" ]
    then echo to fajnie
    else echo szkoda
 fi

Wynikiem tego programu jest:

Hello World!
Dzisiaj jest:
10-10-2006
wszystko OK?:
t
to fajnie

Skrypt uruchamiało się podając interpreterowi jego ścieżkę: sh /tmp/przyklady/skrypt. Skrypt można uruchomić bezpośrednio, jeśli nadano mu prawa wykonywania w systemie plików i znajduje się (jak w przykładzie powyżej) jako pierwsza linia #!/bin/sh, która wywołuje ścieżkę powłoki mającej go wykonać.

Ograniczenia

Jednym z ograniczeń powłoki sh jest brak możliwości operowania na liczbach całkowitych bez tworzenia nowego procesu.

Zobacz też

  • powłoka bash
  • powłoka C (Csh)
  • powłoka Korna (Ksh)
  • powłoka Z (Zsh)

Uwagi

  1. Obecnie oryginalny Bourne shell jest już przestarzały [patrz: Ograniczenia] i nie jest wykorzystywany.

Przypisy

  1. a b Bourne 2015 ↓, s. 13–15.

Bibliografia

  • Stephen R.S.R. Bourne Stephen R.S.R., Early days of Unix and design of sh [online], 12 czerwca 2015 [dostęp 2021-10-26] .
  • p
  • d
  • e
1GL
2GL/
Język drugiej generacji/
Asembler
3GL /
Język trzeciej generacji
wieloparadygmatowe
proceduralne
i strukturalne
historyczne
inne
obiektowe
funkcyjne
edukacyjne
4GL/
Język czwartej generacji/
Język dziedzinowy
Języki zapytań do baz danych
Generatory raportów / stron
Przetwarzanie danych, analiza i raportowanie
5GL/Logiczne
Ezoteryczne
Inne