BASH

Zanim skrypt bedzie skryptem BASHa

  • 2006-05-04 00:36
  • 2 komentarze
  • 1168 odsłon
  • Oceń ten tekst jako pierwszy

Zanim skrypt będzie skryptem BASH'a


Skrypt to nic innego jak plik tekstowy z wpisanymi tam poleceniami. Aby dało się wykonywać ów skrypt, należy mu nadać atrybut wykonywalności. Najprościej poleceniem:

$ chmod +x skrypt


Teraz nasz skrypt można wykonywać, ale zanim cokolwiek nasz skrypt będzie robił to musi mieć jakąś zawartość. Nasz jest na razie pusty więc otwieramy plik w jakims edytorze tekstowym i piszemy polecenia. Niech na początek będzie to:

echo ?Standardowy tekst?


W taki oto sposób napisaliśmy pierwszy skrypt. Jednak nie jest to tak do końca skrypt powłoki (właściwie jak odpalimy to w konsoli to i tak BASH to wykona ale należy dodać coś jeszcze). Na samej górze trzeba zaznaczyć jedną, jaki interpreter ma być wykorzystany do wykonania naszego skryptu. Musi to być w pierwszej linii:

#!/bin/bash
echo ?Standardowy tekst?


Teraz mamy już pełnoprawny skrypt BASH'a. Można go wykonywać i będzie on nam wyświetlał tekst w cudzysłowach. W taki sposób poznałeś pierwsze polecenie jakim jest echo. Służy jak już pewnie się domyśliłeś do wyświetlania tekstu. Wspomniane polecenie jest zwykłym programem, który siedzi sobie najprawdopodobniej, bo zależeć to może od używanej dystrubucji, w /usr/bin albo /bin. Jeśli w konsoli napiszemy echo ?Standardowy tekst?, to uzyskamy identyczny wynik jak wywołując nasz skrypt. I na tym polega całe programowanie w BASH'u. Wywołujemy dostępne programy i one wykonują jakieś zadania, a my przechwytujemy wyniki i nimi zarządzamy. Na razie znasz jedno takie polecenie, co może być trochę mało na początek. Poniżej jest lista chyba  najczęściej używanych (zwłaszcza na początku pisania skryptów) programów:

grep ? przydatne do wycinania z danego ciągu znków
sort ? sortuje podane dane
ls ? wyświetla pliki z danego katalogu
cat ? wyświetla zawartość danego pliku
head ? wyświetla od góry pliku dana ilość znaków/linii
tail ? tak samo jak head tylko ze wyświetla od końca pliku
cut ? może służyć do dzielenia łańcuchów wg danego znaku
awk ? to już osobny język programowania jednak też często wykorzystywany w skryptach
sed ? także bardzo potężne narzędzie, służy do operacjach na strumieniach danych

Znając te kilka programów można pisać juz naprawdę sporo robiące skrypty. Każdy z powyższych programów ma swoje przełączniki lub jak kto woli parametry, np.

#!/bin/bash
echo -n ?Jakis tekst?


Sprawi, że po wyświetleniu tekstu ?Jakis tekst? kursor zostanie umieszczony na końcu linii a nie przeniesiony do nowej linii jak to się dzieje standardowo.

Przełączniki danego programu można znaleźć w podręczniku systemowym. Wpisując w konsoli

$ man echo


dowiemy się jakie parametry są dostępne i sporo ciekawych informacji na temat danego polecenia.

2 komentarze

Coldpeer 2007-10-31 17:52

Swoją drogą winno być basha :)

Marooned 2006-05-04 04:22

Dlaczego BASHa zamieniłeś na BASH'a?
Zasady języka polskiego mówią o dodawaniu apostrofu ' przy odmianach wyrazów pochodzenia obcego co następuje:
<quote=pwn>Zasady użycia apostrofu są omówione w ?Słowniku wyrazów kłopotliwych? PWN (hasło: apostrof). Podstawową funkcją tego znaku jest zaznaczanie, że poprzedzająca go litera e lub dwuznak es są nieme (nie wymawiane), np. Wilde ? Wilde'a lub Descartes ? Descartes'a. Imię Jack nie wymaga w odmianie apostrofu, napiszemy więc: ?Podałem dziś Jackowi śniadanie?</quote>Tak samo więc jak wspomniany "Jack" tak samo będzie z "BASH", bo czytamy "BASZ", nie ma "BASZA", apostrof jest zbędny lub nawet błędny.