Bourne Again SHell - BASH
Strefa Linuksa
Strona główna |
Spis treści |
O autorze |
Księga gości |
Sonda |
Forum |
Reklama |
Kontakt |
Linki |
BASH
Słowo BASH jest skrótem od Bourne Again SHell. Mówi on o autorze
pierwowzoru (Steve Bourne). Jednocześnie jest angielską grą słów i oznacza
"nowo narodzony sh" lub "nowo narodzony shell Bourne'a". Już
to zapowiada, że Bash prezentuje nowe możliwości w porównaniu do pierwotnego
shella.Interpreter poleceń BASH pozwala na kilka
ciekawych rzeczy. Można
korzystać z historii poleceń (strzałka w górę i dół). Dzięki temu nie
musisz powtórnie wklepywać długiego polecenia, gdy popełnisz literówkę. Można
wywoływać kilka poleceń po kolei, łącząc je znakiem średnika - ;. Można
też łączyć programy nienazwanymi potokami (FIFO), kierując wyjście jednego
w wejście drugiego, używając znaku | (pionowa kreska). Wynik pracy wielu
poleceń można zapisać w pliku poleceniem tee. Można też kierować wyjście
programu do pliku albo skierować plik na wejście (znaki < i >) bądź
dopisywać do pliku (>>). Można
też uruchamiać programy w tle dopisując znak & (ampersand) na końcu
polecenia. Wszystko to pozwala na składanie poleceń w złożone zestawy, ułatwiające
wykonanie określonego zadania.
Istnieje rozszerzenie wzięte z powłoki C, zwane brace expansion. Pozwala na
zautomatyzowanie czynności, w których jakaś część nazwy powtarza się
wielokrotnie. Polecenie jest wywoływane wielokrotnie, jeden raz dla każdej możliwości.
Przykładowo, wpisanie mkdir katalog_{pierwszy,drugi,trzeci} spowoduje
utworzenie trzech katalogów - katalog_pierwszy, katalog_drugi i katalog_trzeci.
Możliwe jest wykonywanie operacji arytmetycznych. Jest to usprawnienie
zaczerpnięte z powłoki Korna. Polecenia arytmetyczne wykonuje się, wstawiając
je w obrębie znaków $((...)) lub $[...]. Obsługiwane jest większość
operatorów arytmetycznych Ansi C. Obsługiwana też jest kolejność działań.
Przykładowo, polecenie echo $((2 + 2)) spowoduje, że na ekranie pojawi
się 4 :)
Kolejną ciekawą sprawą jest podstawianie procesów. Dzięki niemu można
wyjście z jednego procesu doprowadzić do innego procesu. Służy do tego
polecenie $(...) lub '...'. Typowym przykładem jest polecenie kill $(pidof
nazwa_procesu), które zamknie proces o nazwie nazwa_procesu (nie musisz
podawać numeru PID procesu).
Oczywiście, możliwe jest tworzenie skryptów. Z zewnętrznego punktu widzenia
skrypt wygląda identycznie jak binarium wykonywalne: plik z ustawionym
atrybutem x. Dopiero wewnątrz widoczne są zmiany: na początku pliku znajdują
się dwa znaki: #! , a po nich nazwa interpretera poleceń, np. /bin/sh. Tak więc
pierwsza linia skryptu może mieć postać: #!/bin/sh, #!/bin/bash,
#!/usr/bin/perl lub
cokolwiek innego. Skrypt pisze się oczywiście w języku interpretera, który
wybrałeś - w przypadku basha składnia jest w miarę podobna do dosowej. Znak
# powoduje zakomentowanie reszty linii na prawo od znaku.
Jeśli chcecie pisać skomplikowane skrypty, musicie niestety skorzystać z
literatury, np. "Programowanie w shellu" wydawnictwa Mikom, ew.
siedzieć godzinami przed manualem ;-)
Strona testowana z Mozillą 0.9.1, Konquerorem, Lynxem, Linksem oraz IE 5.5.
w górę
Copyright © 2000-2001 Marek Materzok Wszelkie Prawa Zastrzeżone.
Wyszukiwarka
Podobne podstrony:
Powłoka BASHbash (4)BASH Programowanie w powloceBash Prog Intro HOWTOBash Tutorial [EN]Bash Style Guide an Coding Standard [EN]bash help shhet shortcuts [EN]BASH Skryptybash org pl śmiesznebashbash Wprowadzenie?shwpBash History Cheat Sheet [EN]BASH Bourne Again SHell2005 11 Discovery Scripts Bash Based Hardware Detection for Pci and Usb2005 11 Discovery Scripts Bash Based Hardware Detection for Pci and Usbwięcej podobnych podstron