Obsah
V zásadě říkáme, že je to soubor, který obsahuje kód napsaný v určitém programovacím jazyce, který systém používá pro určitý úkol. Nemusí mít externí vstupní nebo grafické rozhraní, ale potřebuje výstup zpracovaných dat.
Nejprve musíme mít textový editor a chuť programovat. Soubory, které ukládáme s příponou .sh, mohou být spuštěny (nebo interpretovány) pomocí konzoly, pokud je první řádek následující:
#! / bin / bash
To říká systému, aby ke spuštění souboru použil konzolu. Znak # vám navíc umožňuje psát komentáře.
Vyzkoušíme několik příkladů
Vytvoříme soubor s názvem downloads.sh
#! / bin / bash # vytvořme alias zvaný stahování s adresou Downloads alias stahování = ‘ / home / user / Downloads’
Uložte jako downloads.sh
Chcete -li spustit skript Bash, udělejte mu oprávnění ke spuštění. Chcete -li to provést, zadejte příkazový terminál:
chmod u + x downloads.shTento příkaz nezapomeňte spustit pro každý skript, který vytvoříte
Spusťte „skript“ spuštěním v terminálu
./downloads.shPokud to fungovalo, měli byste být umístěni v adresáři Stahování
Ve skriptu použijte proměnné a parametry
#! / bin / bash # Použití proměnných # echo "Váš první argument je" $ 1 echo "Váš druhý argument je" $ 2
Způsob spuštění skriptu bude například
./miScript.sh ahoj 4
Výsledek by měl být
Váš první argument je ahoj
Váš druhý argument je 4
Jak umožnit zadávání proměnných a parametrů během provádění
#! / bin / bash echo "Zadejte své jméno a stiskněte ENTER" #Přečtěte si název proměnné přečtěte si název echo „Vaše jméno je $ name“
Užitečnější příklad skriptu, který nám řekne, jaké procesy spustí určitý zadaný uživatel
#! / bin / bash RES = s #odpověď na smyčku pokračovat, pokud zatímco [$ RES = s] do echo "Zadejte uživatelské jméno:" čtěte USU #uživatelské jméno ps aux | grep $ USU echo "Chcete pokračovat?" přečtěte si RES hotovo
Pokud chceme zabránit jakémukoli uživateli ve spuštění skriptu na začátku, můžeme vložit následující kód, aby jej mohl spustit pouze uživatel root
#! / bin / bash if [[$ EUID -ne 0]]; pak echo „Tento skript musí spustit uživatel root“ 1> & 2 ukončit 1 fiPokud se jakýkoli jiný uživatel pokusí spustit skript, nebude fungovat a okno terminálu se zavře.
Můžeme také některým uživatelům povolit, aby jim to spustili na začátku, vložíme následující kód
#! / bin / bash AUTHORIZED_USER = "povolený uživatel", pokud [$ USER! = $ AUTHORIZED_USER]; pak echo "Tento skript musí spustit uživatel $ AUTHORIZED_USER" 1> & 2 exit 1 fi
Vytvoříme bash menu, které poskytne uživateli různé možnosti nebo usnadní interakci
#! / bin / bash clear while: do echo "Choose an option" echo "1. Uživatelé přihlášeni?" echo "2. Spotřeba zdrojů" echo "3. Služby běží?" echo "4. Konec" echo -n "Vyberte možnost [1 - 4]" přečtěte si případ případu $ volba v 1) echo "Jsou připojeni:"; quien;; 2) echo „Running htop“; htop ;; 3) lsof -n -i -P | grep '*;; 4) ozvěna „Konec“; exit 1 ;; *) echo „$ opc je neplatná volba?“; echo „Pokračujte stisknutím klávesy …“; čti foo;; HotovoLíbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod