sh

Z Linux Wiki
Skocz do: nawigacja, szukaj

Sh – powłoka systemów uniksowych, napisana przez Stevena R. Bourne'a poprzez rozszerzenie interpretera shell. Zastąpiła pierwotną powłokę, stworzoną przez Kena Thompsona. Nie oferuje ona zbyt wielu działań takich jak edycja wiersza poleceń, za to świetnie sobie radzi z obsługą skryptów.

Uwaga: należy pamiętać, że w większości dystrybucji /bin/sh to tak naprawdę nie powłoka Bourne'a, lecz dowiązanie do innej, kompatybilnej z nią powłoki (zazwyczaj basha).

Język skryptowy[edytuj]

Język powłoki to język strukturalny, umożliwiający deklarowanie zmiennych lokalnych i globalnych. Zaimplementowano także instrukcje sterujące if-then-else-fi, case-esac, for-do-done, while-do-done, until-do-done.

Przykładowy program[edytuj]

#!/bin/sh
 
HELLO=Hej!
# to jest komentarz
 
echo $HELLO
echo "$HELLO"
echo '$HELLO'
echo "Jądro systemu operacyjnego, którego używasz to `uname -s`." # `` zwracają wyjście podanej komendy (tutaj uname)
 
exit 0

Po uruchomieniu skryptu, widzimy następujące wyniki:

$ chmod +x test.sh
$ ./test.sh
Hej!
Hej!
$HELLO
Jądro systemu operacyjnego, którego używasz to Linux.