Uruchamianie skryptówShell script uruchamiamy za pomocą jednej z komendbash nazwa_skryptu sh nazwa_skryptu ./nazwa_skryptu Debugowanie skryptubash -v nazwaskryptu bash -x nazwaskryptu
Pierwszy prosty skrypt
Kolejny skrypt
Zmienne globalneZmienne globalneBASH - nazwa shella BASH_VERSION - wersja shella HOME - nazwa katalogu głównego LOGNAME - nasz login PATH - ścieżki dostępu PWD - aktualny katalog roboczy USERNAME - nazwa aktualnie zalogowanych użytkowników COLUMNS - ilość wyświetlanych na ekranie kolumn LINES - jak wyżej odnośnie lini
Zmienne użytkownikaWłasne zmienne definiujemy w następujący sposób:
i=15 Dostęp do takiej zmiennej mamy poprzez umieszczenie przed nazwą $. $i+$k Zmienna może mieć wartość NULL z= l="" x=NULL Przykład wypisania zawartości zmiennych:
#wyprowadzenie zmiennych na ekran
Parametry wywołania skryptu$* - wszystkie parametry od pierwszego.$0 - nazwa skryptu. $1 - pierwszy parametr.$# - liczba parametrów.
Kilka informacji o funkcji echo$ echo -e "An apple a day keeps away \a\t\tdoctor\n" away -e powoduje że interpretowane są znaki: \b - backspace \n - nowa linia \r - powrót karetki \t - tabulator \\ - backslash
Wyrażenia arytmetyczneexpr arg1 OperatorMatematyczny arg2 Przykład:
expr 1 + 2
Przykłady let i (())
let z=z+3
Zmienna $?Za pomocą zmiennej środowiskowej $? można sprawdzać wykonanie polecenia. Zmienna ta ma wartość 0 jeżeli polecenie zostało poprawnie wykonane i różne od zera jeżeli wystąpił błąd.
rm plikktoregoniema
Czytanie ze standardowego wejścia.składnia:read zmienna1, zmienna2,...zmiennaN Przykład
echo "Napisz jak masz na imię:"
Instrukcje sterujące>,<,==,!=,
if rm $1 test wyrażenie lub [wyrażenie] sprawdza czy wyrażenie jest true (problem z $?). Operatory dla wyrażeń matematycznych:if[5 -eq 6] - równy-ne - nie równy -lt - mniejszy niż -le - mniejszy lub równy -gt - większy niż -ge - większy lub równy Operatory dla wyrażeń tekstowych:str1=str2 - jest równy!= - jest różny str1 - zmienna tekstowa jest pusta lub nie zdefiniowana -n str1 - zmienna tekstowa istnieje i nie jest pusta -z str1 - zmienna nie istnieje i jest Null Operatory dla katalogów i plików:-s plik - czy plik nie jest pusty-f plik - czy plik istnieje -w plik - czy do pliku można zapisywać -r plik - czy plik można czytać -x plik - czy plik można wykonywać -d dir - czy istnieje katalog Wyrażenia logiczne:! - zaprzeczeniewyr1 -a wyr2 - logiczne NOT wyr1 -o wyr2 - logiczne Or If...then...else...fi
#!/bin/bash bash nazwaskryptu liczba if...then...elif...then-else...fi
#!/bin/bash
PętlePętla for
#!/bin/bash
for (( i = 0 ; i <= 5; i++ ))
Pętla while
#!/bin/bash
caseif [ -z $1 ]then czesc="nieznany element" elif [ -n $1 ] then czesc=$1 fi case $czesc in "raz") echo "bylo 1";; "dwa") echo "bylo 2";; "trzy") echo "bylo 3";; *) echo "Nie ma więcej niz trzy";; esac
Funkcje
nazwafunkcji( )
|