Wrocław, 20 marca 2019
SCR Sieci Komputerowe - Labolatorium Bash - podstawy.
prowadzący: mgr inż. Radosław Idzikowski
1 Linux
• Zaczynamy od włączenia terminala, w którym będziemy się komunikować z systemem za po- mocą poleceń. Terminal znajdziemy między innymi programami (pod Ubuntu działa skrót klawiszowy CTRL + ALT + T).
• Poleceniem ls możemy wypisać zawartość aktualnego katalogu.
• Poleceniem cd [nazwa] wchodzimy do katalogu nazwa.
• Poleceniem cd .. wracamy do katalogu nadrzędnego.
• Poleceniem touch [nazwa] tworzymy nowy plik nazwa.
• Poleceniem mkdir [nazwa] tworzymy nowy folder nazwa.
• Poleceniem cp [nazwa] [katalog] kopjujemy plik nazwa do katalogu katalog.
• Poleceniem rm nazwa usuwamy plik nazwa.
• Polecenie pwd pokaże nam aktualny katalog.
2 Bash - pierwszy skrypt
• Tworzymy plik o dowolnej nazwie, np.: touch skrypcik.
• Włączamy utworzony plik dowolnym edytorem, np.: nano skrypcik lub gedit skrypcik.
• W Bash’u normalnie przez symbol # oznaczamy komentarz, jednak wyjątkiem jest pierwsza linia #!/bin/bash, która wskazuje w której powłoce ma się wykonywać nasz skrypt.
• Poleceniem echo "tekst" możemy wypisać tekst na standardowym wyjściu, w naszym wy- padku konsoli.
• Domyślnie nowo tworzone pliki mają nadane prawa tylko do odczytu i zapisau. Aby włączyć nasz skrypt musimy nadać mu prawa do zapisu poleceniem chmod +x skrypcik (zalecam otworzenie drugiego okna terminala). W celu podejrzenia uprawnień plików używamy ls -l.
• Teraz możemy uruchomić nasz pierwszy skrypt ./skrypcik.
1
3 Bash - polecenia
• Używając polecenia echo łatwo przekierować napis do pliku zewnętrznego. Jeśli użyjemy pole- cenia echo "tekst" > plik wpiszemy tekst do pliku, ale zostanie nadpisana jego poprzednia wartość, jeśli chcemy, aby zawartość była dopisywana musimy użyć echo "tekst" >> plik.
• Zmienne tworzy się bardzo prosto wystarczy podać jej nazwę i przypisać wartość a=4. Trzeba uważać, aby nazwa zmiennej nie była nazwą kluczową w BASH’u. Jeśli chcemy wpisać ciąg znaków używamy cudzysłowów a="Hello World!".
UWAGA! Wstawienie spacji np. po a zmienia strukturę polecenia.
• Aby odwołać się do zawartości zmiennej używamy symbolu dolara echo $a
• W celu wpisania polecenia do zmiennej używamy odwrotnego apostrofu a=‘PWD‘. ( ten sam klawisz co ”˜”) lub alternatywnego zapisu a=$(PWD).
• Skrypt można wywołać bez parametrów lub maksymalnie do 9 parametrów ./skrypcik para1 para2 para3, aby wyświetlić pierwszy parametr wystarczy użyć echo $1, aby wyświetlić wszystkie przeka-
zane parametry echo $@
• Możemy również tworzyć zmienne tablicowe tab=(el1 el2 el3), sposób odwołania echo ${tab[1]}.
• Poleceniem read zmienna możemy wczytać wartość ze standardowego wejścia (klawiatury) do zmiennej.
• Łatwo możemy przekierować standardowe wejście podobnie jak wyjście ./skrypcik < plik.
• Do operacji matematycznych musimy skorzystać z mechanizmu interpretacji wyrażeń arytme- tycznych. Aby zwiększyć wartość zmiennej o jeden x=$((x+1)) lub x=$[x+1]. Innym sposobem jest polecenie let x=x+1
4 Bash - instrukcja warunkowa
Składnia:
if warunek then
polecenie fi
read x
if [ $((x)) -le 5 ] then
echo "mniejsze lub rowne 5"
else
echo "wieksze niz 5"
fi
Warunki:
= równe
!= nierówne -lt mniejsze niż -gt większe niż -ge większe lub równe -le mniejsze lub równe
2
5 Bash - case
Składnia:
case zmienna in
"wartosc1") polecenie ;;
"wartosc2") polecenie ;;
"wartosc3") polecenie ;;
*) polecenie_domyślne esac
#!/bin/bash
echo "Podaj cyfrę od 1 do 5"
read x case "$x" in
"1") echo "jeden" ;;
"2") echo "dwa" ;;
"3") echo "trzy" ;;
"4") echo "cztery" ;;
"5") echo "piec" ;;
*) echo "zle"
esac
6 Zadanie
6.1
Napisać skrypt, który na podstawie przekazanych dwóch parametrów: pierwszy nazwa, drugi licz- ba całkowita. Utworzy plik o zadanej nazwie. Jeśli argument drugi będzie liczba 1: o rozszerzeniu .txt, 2: o rozszerzeniu .sh.
6.2
To samo co w Zadaniu 6.1, ale parametry przosze przekierować z pliku.
opracował: Radosław Idzikowski
3