Obsah
Přestože jej obecně používáme pro operace správy nebo správy souborů, konzole Linux rozšiřuje své funkce daleko za tento účel, což nám umožňuje programovat skripty podle našich potřeb.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