Ważne komendy
alias
- tworzy alias lub wyświetla listę aliasów
unalias
- usuwa alias
Ważne komendy
declare
- inicjuje zmienną z parametrem:
-a
- typu tablicowego
-f
- tworzy funkcję
-i
- typu całkowitego
-p
- wyświetla zmienne oraz ich atrybuty i wartości
-r
- tylko do odczytu
-x
- zmienna wyeksportowana (odpowiednik polecenie export)
export
- inicjuje zmienną wyeksportowaną
- z paramentem
-n
usuwa zmienną wyeksportowaną
readonly
- inicjuje zmienną tylko do odczytu
printenv
- wypisuje listę aktualnie ustawionych zmiennych środowiskowych
set
- wyświetla listę zmiennych
source
- ponownie przeładowuje plik
unset
- usuwa zmienną
Przypisanie wartości zmiennej
zmienna=wartość
let
zmienna=wartość
- typu całkowitego.
zmienna=(wartość1
wartość2 ... wartośćN)
- typu tablicowego.
-
zmienna=([index1]=wartość1
[index2]=wartość2 ...
[indexN]=wartośćN)
- typu tablicowego (przypisanie wartości do konkretnych pozycji)
Odniesienie się do wartości zmiennej:
$zmienna
Składnia operacji arytmetycznych:
$((wyrażenie))
lub
$[wyrażenie]
Można je wykonywać jedynie na liczbach całkowitych
Operacje na zmiennych typu napisowego
napis1napis2
- konkatenacja
${#zmienna}
- długość napisu, którego wartość znajduje się w zmiennej
${zmienna:pozycja}
- wartość napisu od pozycja
(indeksowany od 0)
${zmienna:pozycja:długość}
- wartość napisu od pozycja
do odpowiedniej długości
Operacje na zmiennych typu całkowitego
wartość1+wartość2
- dodawanie
wartość1-wartość2
- odejmowanie
wartość1*wartość2
- mnożenie
wartość1/wartość2
- dzielenie
wartość1%wartość2
- reszta z dzielenia
0wartość
- liczba w systemie ósemkowym
0xwartość
- liczba w systemie szesnastkowym
podstawa#wartość
- liczba w innym systemie liczbowym
Operacje na zmiennych typu tablicowego
${zmienna[*]}
- wszystkie elementy tablicy
${zmienna[index]}
- odniesienie się do wartości znajdującej się w tablicy na pozycji
index
${!zmienna[*]}
- wszystkie indeksy
${#zmienna[*]}
- liczba elementów tablicy
Wartość wyjścia standardowego polecenia:
$(polecenie)
lub
`polecenie`
Pliki startowe
~/.bashrc
- plik wykonywany, podczas uruchomienia interpretera poleceń Bash
~/.bash_profile
- plik wykonywany, podczas logowania użytkownika
~/.profile
- plik wykonywany, podczas logowania użytkownika
~/.bash_logout
- plik wykonywany, podczas wylogowywania użytkownika
Zadania
Zadanie 1.
Wykonaj polecenie, które sprawdzi
- listę wszystkich zmiennych oraz ich wartości.
- listę aktualnie ustawionych zmiennych środowiskowych.
Zadanie 2.
Przejrzyj oraz postaraj się odgadnąć, jakie wartości zawierają zmienne środowiskowe:
- $HOME,
- $LANG,
- $PATH,
- $PWD,
- $SHELL,
- $TERM,
- $USER.
Zadanie 3.
Zapoznaj się z możliwościami tworzenia zmiennych i zmiennych środowiskowych, np.
- utwórz zmienna o nazwie np. test i nadaj jej wartość np. Ala ma kota.
- wyświetl zawartość zmiennej test na ekranie.
- przypisz nową wartość zmiennej test, np.: Kot ma Ale,
następnie wyświetl te zawartość i sprawdź czy została zmieniona.
- sprawdź czy zmienna test jest zmienną środowiskową, jeżeli nie
dodaj ją do środowiska.
- usuń zmienną test ze środowiska, a następnie
sprawdź czy zmienna test nadal znajduje się.
- dodaj ponownie zmienną test do środowiska i usuń ją całkowicie,
następnie sprawdź, czy jest na liście zmiennych środowiskowych oraz na liście wszystkich,
- utwórz zmienną i zmienną środowiskową, następnie sprawdź czy
zmienna i zmienna środowiskowa istnieje w nowym terminalu.
- stwórz zmienną tylko do odczytu z dowolną wartością,
sprawdź czy możesz zmienić jej wartość i usunąć zmienną.
Zadanie 4.
Zapoznaj się z możliwościami typów zmiennych, np.
- przypisz dowolną wartość typu napisowego do zmiennych o nazwie napis1 oraz napis2 oraz
do zmiennej o nazwie napisy przypisz konkatenacje wartości zmiennych
tych dwóch zmiennych.
- wyświetl jaka jest długość wartości zmiennej napisy.
- wyświetl wartość zmiennej napisy od 3-go znaku indeksowanego od 0.
- wyświetl wartość zmiennej zmienna od 3-go do 7-go znaku indeksowanego od 0.
- wyświetl wartość zmiennej zmienna od 3-go do 7-go znaku indeksowanego od 0.
- przypisz dowolną wartość typu całkowitego do zmiennych o nazwie
liczba1 i liczba2 oraz przypisz im dowolne wartości.
- stwórz zmienne typu całkowitego o nazwach suma, roznica, iloczyn, iloraz oraz
przypisz im wartości operując na zmiennych liczba1 i liczba2.
- stwórz zmienną typu tablicowego o nazwie tablica przechowującą i przypisz jej dowolne wartości.
- wyświetl 2-gi element wartość zmiennej tablica indeksowanej od 0.
- wyświetl informacje ile elementów zawiera zmienna tablica.
- stwórz zmienne przechowujące liczby w różnych systemach liczbowych, wykonaj na nich
operacje arytmetyczne i wyświetl wynik.
Zadanie 5.
Stwórz dowolną zmienną środowiskową, następnie wyłącz i włącz system oraz sprawdź czy zmienna dalej
istnieje. Następnie zastanów się co zrobić, aby zmienna została zainicjalizowana po włączeniu systemu.
Podpowiedź: Sprawdź zawartość pliku:
~/.bashrc
i go odpowiednio zmodyfikuj.
Zadanie 6.
Zapoznaj się z możliwością tworzenia aliasów tak, aby działały nawet po ponownym uruchomieniu terminala.
Możesz utworzyć przykładowo alias
search
dla polecenia
grep -rn
.
Podpowiedź: Sprawdź zawartość pliku:
~/.bashrc
i go odpowiednio zmodyfikuj.
Zadanie 7.
Zapoznaj się z możliwością uruchomienia plików binarnych w dowolnym miejscu.
Przykładowo możesz dokonać konfiguracji takiej, że plik
example,
który można uruchomić poleceniem:
./example
, będzie można uruchomić poleceniem:
example
, z dowolnej lokalizacji.
Podpowiedź: Wykorzystaj plik
~/.bashrc
i odpowiednie zmienne środowiskowe.
Zadanie 8.
Przypisz do zmiennych liczbowych o nazwie
liczbaPikow i
liczbaKatalogow informacje na temat ile jest plików i katalogów
w twoim folderze domowym (wykorzystaj odpowiednie polecenie). Następnie do zmiennej liczbowej
suma
przypisz sumę tych wartości.
Zadanie 9.
Przypisz do zmiennej tablicowej o nazwie
katalogi informacje na temat zawartości
swojego katalogu domowego (wykorzystaj odpowiednie polecenie). Zapoznaj się z możliwością
odniesienia się do pojedynczej nazwy katalogu poprzez indeks tablicy (np. pobierz nazwę katalogu,
która pojawiła się jako pierwsza).
Zadanie 10.
Przypisz do zmiennej napisowej o nazwie
rok informacje na temat aktualnego roku
(pobierz informacje odpowiednim poleceniem).
Następnie przy użyciu tej zmiennej wyświetl kalendarz na bieżący rok.