Co to jest Shell Bourne?
Bourne Shell to mały program działający w systemach operacyjnych UNIX® i Linux® i zapewnia interfejs do wykonywania programów w systemie. Jest często nazywany interfejsem wiersza poleceń lub interpretera poleceń, ponieważ nie zapewnia użytkownikowi żadnego graficznego interfejsu użytkownika (GUI). Polecenia i wszelkie niezbędne parametry do wykonania są wpisane do powłoki. Bourne Shell jest również językiem skrypowym, umożliwiającym użytkownikom tworzenie i wykonywanie plików skryptów, które mogą przetwarzać dane za pośrednictwem wielu programów za pomocą jednego polecenia. W systemach podobnych do UNIX® program jest po prostu znany jako „sh.”
Pierwsze takie powłoki dla systemów UNIX® były znane jako Thompson Shell, utworzone przez Kena Thompsona, jednego z oryginalnych twórców systemu operacyjnego UNIX®. Shell Thompson był ograniczony do interpretacji poleceń, a szereg dodatkowych funkcji musiało zostać wykonanych jako operacje zewnętrzne. Później Stephen Bourne stworzył Bourne Shell, aby zastąpić ThompsonaShell, dodając wiele nowych funkcji do samej skorupy, a także języka skontaktowania
W rzeczywistości Bourne Shell został zaplanowany jako język scenariusza od samego początku. Chociaż nadal był to interfejs wiersza poleceń dla wersji Siód siódmej UNIX®, otworzył także możliwość opracowania skłonności powłoki, które łączą polecenia w celu przetwarzania danych. Dzięki zastosowaniu tego programowania użytkownik może ustanowić zmienne do przechwytywania znanych lub nieznanych danych z wejścia lub wyjścia oraz manipulować przetwarzaniem tych danych za pomocą instrukcji warunkowych w skrypcie za pomocą techniki określonej jako przepływ kontrolny.
Była to również pierwsza powłoka, która zaimplementowała funkcję znaną jako obsługa sygnałów. Za pośrednictwem Bourne Shell użytkownik może wysłać określony typ sygnału do procesu już działającego na komputerze, instruując ten proces, aby zrobić SOMcoś innego. Wiele z nich to sposoby zatrzymania procesu, który wykonuje i wyprodukować jakiś wynik, który można wykorzystać do debugowania, chociaż inne istnieją w celu tymczasowego zatrzymania procesu, wznowienia i tak dalej.
Możliwość bezpośredniego kontrolowania deskryptorów plików była kolejna dla Bourne Shell. W systemie podobnym do Unix® każdy uruchomiony program ma tabelę, która zawiera listę deskryptorów plików dla dowolnych otwartych plików. Może to obejmować wszystko, od prostego pliku tekstowego po katalog, a nawet gniazda komunikacyjne, które przetwarza używają do udostępniania danych. Aby użytkownik miał kontrolę nad deskryptorami plików w systemie, dozwolone na bezprecedensową kontrolę nad wejściem i wyjściem dla praktycznie wszystkiego na komputerze.
Oczywiście, mimo że Bourne Shell zaoferował użytkownikom tak dodatkową funkcjonalność, brakowało jej takich funkcji, jak możliwość interaktywnego kontrolowania procesów, ustanawianie aliasów dowodzenia i zachowanie historii. Później jednak wiele zejśćZaczęły pojawiać się mrówki, które przyjęły najbardziej przydatne cechy skorupy, które zostały opracowane na przestrzeni lat i zwinęły je w nowe skorupy. Jednym z powszechnych przykładów jest powłoka Bourne-Again lub Bash, która jest powszechna w wielu systemach Linux®. W rezultacie wielu z tych potomków jest w pełni zdolnych do wykonywania zwykłych skontleur Bourne, co daje każdy system podobny do UNIX® w taki czy inny sposób wdrożenie oryginalnej powłoki Bourne. W wielu systemach Linux® jest to po prostu link od „sh” do „bash” lub innego zdolnego potomka.