Bash – literatura
Wykład został opracowany na podstawie materiałów:
http://www.ournet.pl/kursbasha/main.html
2
1
Bash
•
BASH
(ang.
Bourne Again SHell
) to stworzony przez
Briana Foxa
i
Cheta Rameya
zgodny z
sh
interpreter
poleceı, łĢczĢcy w sobie zalety shella
Korna
(
ksh
) i
C-
shella
(
csh
).
•
BASH
to najbardziej popularna powłoka uŇywana na
systemach unixowych, jest teŇ skryptowym jħzykiem
programowania, umoŇliwiajĢcym efektywne zarzĢdzanie
systemem.
•
Skrypt
– to niekompilowany tekstowy plik wykonywalny,
zawierajĢcy pewne polecenia systemowe oraz polecenia
sterujĢce jego wykonaniem (instrukcje, pħtle itp.).
Wykonywany jest tylko i wyłĢcznie przez interpreter
(np.
/bin/bash
), który tłumaczy polecenia zawarte w
skrypcie na jħzyk zrozumiały dla procesora.
3
Przykładowe polecenia
•
ls (np. ls –l)
– prawa dostħpu ([d-katalog, l-dowiĢzanie], właĻciciel, grupa, do
której naleŇy właĻciciel, pozostali): drwxrwxrwx
•
man
•
apropos
•
mkdir
•
touch – zakładanie pliku (pico, vim, vi, mcedit,….)
•
cp
•
mv
•
rm
– (np. rm –r nazwa_katalogu
- kasowanie katalogu, niepustego)
•
cat – wyĻwietlenie zawartoĻci zbioru
4
2
Wzorce nazw
•
?
– zastħpuje dowolny znak (bez spacji)
•
*
– zastħpuje ciĢg znaków
Przykłady
•
???.*
•
*.*
•
*
5
Echo
• Polecenie
echo –
słuŇy do wydrukowania
na standardowym wyjĻciu (
stdout
-
domyĻlnie jest to ekran) napisu podanego
jako argument polecenia.
echo "jaki
Ļ
napis”
• MoŇna teŇ pisaę do pliku.
echo "jaki
Ļ
napis" > plik
Kasowanie
zawartoĻci
Dopisywanie
na koıcu
echo "jaki
Ļ
napis" >> plik
6
3
Echo – parametry polecenia
•
-n
nie jest wysyłany znak nowej linii
•
-e
włĢcza interpretacje znaków specjalnych:
–
\a
alert, dzwonek
–
\b
backspace
–
\c
pomija znak koıczĢcy nowej linii
–
\f
escape
–
\n
form feed czyli wysuw strony
–
\r
znak nowej linii
–
\t
tabulacja pozioma
–
\v
tabulacja pionowa
–
\\
backslash
–
\nnn
znak, którego kod ASCII ma wartoĻę ósemkowo
–
\xnnn
znak, którego kod ASCII ma wartoĻę szesnastkowo
7
Echo
• $
echo Angielskie I’m
• $
echo ‘Angielskie I’\’’m’
•
W tym przypadku zapis ‘\’’ (apostrof, backslash, apostrof,
apostrof) zadziała tak jakby apostrof znajdował siħ w
ciĢgu znaków objħtych apostrofami. Pierwszy znak ‘ w
ciĢgu ‘\’’ koıczy pierwszy ciĢg objħty apostrofami
(‘Angielskie I’), \’ dodaje znak apostrofu, a nastħpny
apostrof
rozpoczyna
kolejny
ciĢg
znaków
objħty
apostrofami, zawierajĢcy literħ ‘m’.
8
4
Pierwszy skrypt!!
touch skrypt1
#!/bin/bash
#Tu jest komentarz.
echo "Witaj"
•
Znak
#
oznacza komentarz, interpreter pomija wszystko
co znajduje siħ za nim w tej samej linii.
•
#!
ma szczególne znaczenie - wskazuje na rodzaj shella
w jakim skrypt ma byę wykonany.
•
Ale to nie wszystko… L
9
Pierwszy skrypt!!
•
Aby móc uruchomię skrypt naleŇy mu jeszcze nadaę
atrybut wykonywalnoĻci za pomocĢ polecenia:
chmod +x skrypt1
•
JeĻli katalog bieŇĢcy w którym znajduje siħ skrypt nie
jest dopisany do zmiennej
PATH
, to nasz skrypt
moŇemy uruchomię nastħpujĢco:
./skrypt1
10
5