Kapitola 1: Úvod do skriptování Bash Shell
Bash, zkratka pro Bourne Again Shell, slouží jako výchozí prostředí pro operační systémy založené na Unixu, jako je Linux a macOS. Poskytuje uživatelsky přívětivé rozhraní pro správu operačního systému a je to výkonný skriptovací jazyk používaný pro automatizaci úloh, zefektivnění procesů a zvýšení produktivity. Tato příručka je navržena tak, aby vás provedla základy skriptování v Bash. Na konci budete mít znalosti pro využití Bash pro různé aplikace, což zvýší vaši efektivitu a odbornost v prostředí Unix/Linux.
Kapitola 2: Pochopení Bash Shell
2.1: Přehled
Bash, vylepšená a zpětně kompatibilní verze Bourne shellu, je základem systémů Unix a Linux. I když se primárně používá v systémech Unix/Linux, je také součástí systému macOS a lze k němu přistupovat ve Windows pomocí nástrojů, jako je Windows Subsystem for Linux (WSL).
2.2: Výhody Learning Bash
- Popularita: Bash je nejrozšířenější shell skriptovací jazyk pro systémy Unix/Linux.
- Dlouhověkost: Bash, představený v roce 1989, zůstává relevantní a silný dodnes.
- Všestrannost: Skripty napsané v Bash lze spustit na více operačních systémech.
- Automatizace: Bash skripty mohou automatizovat opakující se úkoly a zvyšovat produktivitu.
- Integrace: Bash může komunikovat a ovládat další nástroje a jazyky.
2.3: Omezení Bash
Navzdory své síle se Bash nehodí pro všechny úkoly. Pro objektově orientované programování, složité skriptování syntaxe a pokročilou správu systému mohou být vhodnější jiné jazyky nebo nástroje.
Kapitola 3: Předpoklady
3.1: Operační systém
Přestože je Bash nativní pro Unix/Linux, lze jej použít ve Windows s WSL nebo macOS.
3.2: Základní znalost Linuxu
Pochopení základních příkazů Linuxu a struktury souborového systému bude velkým přínosem pro vaše učení.
Kapitola 4: Začínáme se základními příkazy
Chcete-li položit základy skriptování Bash, začněme se základními příkazy terminálu:
Příkaz | Popis | Příklad |
---|---|---|
echo | Zobrazí text předaný jako argument. | echo Hello |
cat | Zobrazí obsah souboru. | cat file.txt |
Kapitola 5: Testování výrazů
Bash poskytuje test
nebo hranaté závorky [ ]
vyhodnotit výrazy. Například:
bashCopy kód# Using the `test` command
test "Hello" = "Hello"
# Using square brackets
[ "Hello" = "Hello" ]
Kapitola 6: Podmíněné příkazy
Bash podporuje if-elif-else
konstruuje a case
prohlášení pro rozhodování.
6.1: If-Elif-Else
bashCopy kódif [ "$1" = "admin" ]; then
echo "Oh, you're the boss here. Welcome."
elif [ "$1" = "help" ]; then
echo "Just enter your username, please."
else
echo "I don't know who you are, but you're not the boss of me."
fi
6.2: Případ
bashCopy kódcase "$1" in
"admin")
echo "Oh, you're the boss here. Welcome."
;;
"help")
echo "Just enter your username, please."
;;
*)
echo "I don't know who you are, but you're not the boss of me."
;;
esac
Kapitola 7: Pole a smyčky
Pole a smyčky v Bash usnadňují manipulaci s více hodnotami.
7.1: Pole
bashCopy kódmy_first_list=(1 2 3 4 5)
# Accessing the first element of the array
echo ${my_first_list[0]}
7.2: Smyčky
bashCopy kód# Using for loop to print array elements
for element in ${my_first_list[*]}
do
echo $element
done
Kapitola 8: Funkce
Funkce v Bash vám umožňují organizovat, znovu používat a modularizovat kód.
bashCopy codeshow_uptime() {
local up=$(uptime -p | cut -d' ' -f2) # Get uptime
local since=$(uptime -s) # Get start time
cat <<- EOF
-----------
This machine has been up for ${up}.
It has been running since ${since}.
-----------
EOF
}
Kapitola 9: Zpracování textu pomocí Awk a Sed
Awk a Sed jsou výkonné nástroje pro zpracování a manipulaci s textovými daty v Bash.
9.1: Awk
Awk není jen textový procesor, ale kompletní programovací jazyk, který umožňuje složité operace se vstupním textem.
9.2: Sed
Sed, zkratka pro Stream Editor, je nástroj používaný k provádění transformací textu. Všimněte si, že Sed neupravuje soubory na místě, pokud není -i
Tato možnost se používá a je důležité zajistit, abyste při učení měli zálohu nebo pracovali na kopii.
bashCopy kód# Replacing 'fly' with 'grasshopper' in set_test.txt
sed 's/fly/grasshopper/g' set_test.txt
Tato příručka slouží jako úvod do skriptování shellu Bash. S praxí si osvojíte skriptování v Bash a otevře se vám svět výkonných možností automatizace a správy ve vašem výpočetním prostředí.
-
Jaký je rozdíl mezi skriptováním Bash a Shell?
Shell scripting je širší pojem, který zahrnuje skripty napsané pro různé shelly, jako je Bourne Shell (sh), Bourne Again Shell (Bash), Korn Shell (ksh), C Shell (csh), atd. Bash skriptování konkrétně odkazuje na skriptování pro Bash. shell, což je novější, funkčně bohatý a populárnější shell.
-
Potřebuji znát příkazy Linuxu, než začnu skriptovat Bash?
Ano, základní znalost linuxových příkazů je prospěšná, když začínáte se skriptováním Bash, protože skripty Bash jsou v podstatě série linuxových příkazů spouštěných v sekvenci s určitou řídicí logikou.
-
Mohu spouštět své Bash skripty na jiných operačních systémech než Linux?
Ano, skripty Bash můžete spouštět na jakémkoli operačním systému, který má k dispozici prostředí Bash. To zahrnuje systémy Unix, macOS a Windows s nainstalovaným podsystémem Windows pro Linux (WSL).
-
Může skriptování Bash nahradit potřebu jiných programovacích jazyků, jako je Python nebo Perl?
I když je skriptování v Bash výkonné a dostatečné pro mnoho úloh na úrovni systému a potřeby jednoduchého skriptování, není určeno k tomu, aby nahradilo univerzální programovací jazyky jako Python nebo Perl. Složité datové struktury, objektově orientované programování a některé další úkoly se lépe zvládají v jazycích, jako je Python.
-
Napsal jsem Bash skript, ale nespouští se. Co by mohlo být špatně?
Důvodů, proč se Bash skript nespouští, může být několik. Mezi běžné problémy patří syntaktické chyby ve skriptu, nesprávná oprávnění k souboru (skript by měl mít oprávnění ke spuštění) nebo na prvním řádku skriptu může chybět správný shebang (
#!/bin/bash
), abyste určili, že se má spouštět pomocí Bash.
Komentáře (0)
Zatím zde nejsou žádné komentáře, můžete být první!