BASH — Skripty
Osnova cvičení
- domácí úkol
- manipulace s proměnnými
- vstupní argumenty
- pole
Domácí úkol
- Zadání prvního domácího úkolu
- Čas na vypracování 15 dní od zadání na cvičeních (máte dvě možnosti konzultovat problémy s úkolem, nebojte se zeptat)
Úkoly
-
Manipulace s proměnnými
- Uložte do proměnné
a=nazev.txt - Jak záskáte první písmeno, které proměnná obsahuje?
- Jak získáte koncovku, pokud víte, že obsahuje 3 znaky?
- Jak získáte koncovku, pokud nevíte, kolik znaků pobsahuje?
- Jak odtrhnete koncovku, když víte, že je to
txt? - Jak odtrhnete koncovku, pokud víte, že je za poslední tečkou v názvu?
- Jak získáte základní jméno z názvu
jiny_soubor.txt.tgz? (základní jméno je bez tečky, tedy zdejiny_soubor) - Jak z absolutního názvu s adresářem získáte návez adresáře? (např pro
/home/user/psy/cv02/text.txt.tgz) - Jak z zjistíte, zda je zadaný adresář absolutní cestou? (např
/home/user/psy/cv02/text.txt.tgzje absolutní cesta,~/psy/obsah.txtje také absolutní, cesta../psy/l.txtje raltivní) - Jak z relativní cesty vytvoříte absolutní cestu?
- Jak z absolutního názvu s adresářem získáte návez souboru? (např pro `/home/user/psy/cv02/text.txt.tgz')
- Jak z absolutního názvu s adresářem získáte návez základní jméno souboru bez koncovky? (např pro `/home/user/psy/cv02/text.txt.tgz')
- Uložte do proměnné
-
Mezery oddělují parametry
- skript
show_arguments.sh
- skript
#!/usr/bin/env bash
I=0
while [; do
done
-
Parametry
- vysvětlete co tento skript dělá
- zkuste ho spustit s parametry
Hello worlda'Hello world' - chování skriptu vysvětlte
-
Prozkoumejte následující skript
- skript
test.sh
- skript
#!/usr/bin/env bash
l=()
for
do
s=
if [
then
l+=( "" )
fi
done
- Pole
- Co skript
test.shdělá? - Bude nějaký rozdíl, pokud bychom na konec skriptu připsali
show_arguments "${l[@]}"neboshow_arguments "${l[*]}"? - Na čem tento rozdíl záleží?
- Napište příkaz, aby byly všechny vybrané souboru archivovány příkazem
tar czfdo souboru, který se bude jmenovatzaloha.tgz. - Upravte příkaz tak, aby jméno archivu bylo jméno prvního vybraného souboru s příponou
.tgz
- Co skript