Bash scripty jsou nedílnou součástí znalostí operačního systému Linux. Jedná se o textový “skriptový” zápis kódu, který vykonává příkazy příkazového řádku. Tedy všechny příkazy, které lze použít v příkazovém řádku, lze zde používat také, navíc jsou jen ty příkazy, které umožňují práci se skriptem.

Základní nutný požadavek je mít vytvořený textový soubor, s příkazy, které se budou vykonávat. Jak již víme z Linuxu, není třeba mít soubor s koncovkou. Je však dobré mít soubory s koncovkami pro přehlednost. Pro Bash scripty se používá souborů s koncovkou .sh, tedy například run.sh.

Skriptům dáváme práva x pokud chceme aby byly spustitelné bez příkazu sh před scriptem. V takovém případě lze spouštět skript příkazem třeba ./script-name *{parametry}*.

První řádek scriptu

Skripty Bash začínají příkazem shebang. Shebang je kombinace znaků bash # a bang ! následovaná cestou k shellu bash. Jedná se o první řádek skriptu. Shebang říká shellu, aby jej spustil prostřednictvím shellu bash. Shebang je jednoduše absolutní cesta k interpretu bash. Lze nastavit i jiné shelly než bash, bash je však nejčastější.

#!/bin/bash
# Tento řádek by měl být vždy v každém scriptu.

# zde následuje další část scriptu, tyto části jsou popsány niže

Specifické příkazy bash scriptů

sh *{script} {parametry}* - spustí script který jsem zadal

Práce s parametry

Parametry jsou vložené hodnoty za název scriptu, každý parametr je oddělen mezerou.

Parametry získáváme ve scriptu přes $1 $2 .. případně pokud bude větší než 9 tak přes ${13}, ${15}…

Níže je seznam vyhrazený seznam parametrů

$0 - název skriptu $# - počet zadaných parametrů $* - param jako jedno slovo $@ - zopakuje co jsem zadal $$ - napíše PID procesu který spustil script shift - příkaz - posouvá parametry $3 > $2 >…

Jak vypadá taková práce s parametry

#!/bin/bash

echo Vývejte ve scriptu
echo Název scriptu je: $0

echo Jako první parametr je zadáno: $1

# Toto je komentář

Snímek obrazovky 2025-02-14 v 12.06.27.png

Proměnné

Proměnné se zapisují pomocí příkazu =, tímto příkazem se uloží data do paměti pod konkrétní název. Proměnné se dají takto použít i v příkazovém řádku přímo, avšak existují pouze v tomto spuštěném příkazovém řádku.

#!/bin/bash

**company=ORBIS
echo Studuji $company $2 a jsem $1.**

Alternativní příkaz set slouží pro nastavení dat do jednotlivých parametrů.

set $(date) - v závorce může mít cokoliv (libovolný příkaz). Výsledek příkazu set se vloží do proměnných pro parametry