GNU/Linux >> Znalost Linux >  >> Linux

Co jsou Shell Scripts? Jak vytvořit Shell skripty?

Co je to Shell?

Shell je program, který poskytuje rozhraní mezi uživatelem a jádrem operačního systému (OS). OS spustí shell pro každého uživatele, když se uživatel přihlásí nebo otevře okno terminálu nebo konzoly.

Co je to skript Shell?

Skript shellu je soubor, který obsahuje příkazy shellu a UNIX. Podobně jako zkompilované spustitelné programy má skript Shell specifický účel a je opakovaně použitelný. Když jsou příkazy ve skriptu shellu seřazené a bezchybné, můžete spustit skript shellu a provádět úkoly efektivně.

Všechny skripty, programy a procedury používají následující pravidla:

  • Měly by se spustit bez chyby.
  • Provádějí úkol, pro který jsou určeny.
  • Zajišťují, že logika programu je jasně definovaná nebo zjevná.
  • Neměly by zahrnovat zbytečnou práci.

Vytváření skriptů prostředí

Skript shellu je textový soubor, který obsahuje sekvenci příkazů systému UNIX. Skript shellu je často posloupnost příkazů, kterou opakovaně používáte. Posloupnost příkazů ve skriptu shellu obvykle provádíte zadáním názvu skriptu shellu na příkazovém řádku.

Chcete-li vytvořit skript prostředí, vytvořte soubor a vložte do něj příkazy systému UNIX. UNIXové příkazy zahrnují standardní nástroje, uživatelské programy a názvy dalších skriptů, které potřebujete k provedení svého úkolu.

Poznámka – Pokud do skriptu vložíte názvy jiných skriptů, ujistěte se, že mají oprávnění ke čtení a spuštění, aby se spustily.

Soubor skriptu může mít libovolný název podle konvencí běžných názvů souborů v prostředí operačního systému. Při pojmenovávání programů shellu byste se měli vyvarovat používání jmen, která jsou v konfliktu s existujícími příkazy nebo funkcemi prostředí UNIX.

Následující ukázkový skript používá příkaz echo k informování uživatele o výstupu, který lze očekávat, než bude zavolán skutečný příkaz, který výstup vytvoří. Při psaní skriptů je dobrou praxí informovat uživatele o tom, co se děje, aby měli představu, zda skript běží správně.

# vi my_script.sh
#!/bin/sh
clear
echo "SCRIPT BEGINS"
echo "Hello $LOGNAME!"

Spuštění skriptu Shell

Chcete-li spustit skript shellu stejně jako ostatní příkazy v systému, nejprve mu přidělte oprávnění ke spuštění příkazem chmod; například:

# chmod +x my_script.sh

Toto je preferovaná a nejběžnější metoda pro provádění skriptu shellu. Vytvoří se podshell pro spuštění zadaného skriptu. Udělte oprávnění ke spuštění pouze uživatelům, kteří potřebují spustit skript.

Když je skript spuštěn v dílčím prostředí, proměnné, aliasy a funkce vytvořené a používané ve skriptu jsou známy pouze v dílčím prostředí. Po dokončení skriptu a návratu ovládacího prvku do nadřazeného shellu již nejsou známé proměnné, funkce a další změny stavu shellu provedené skriptem.

Následující příklad spustí skript v aktuálním shellu:

# . ./my_script.sh

Následující příklad ukazuje provádění skriptu s laděním:

# sh -x my_script.sh

Spusťte skript, který jsme vytvořili ve výše uvedené sekci, a zjistěte, zda dává správný výsledek.

sh my_script.sh
SCRIPT BEGINS
Hello root!

Spuštění skriptu pomocí znaku #! Postavy

Při spouštění skriptu, který má oprávnění ke spuštění zadáním názvu skriptu na příkazový řádek, byste měli znát podskořápku (sh, csh, ksh, bash nebo jiné podskořápky), ve které bude skript spuštěn.

První řádek skriptu určuje shell, který je vytvořen jako interpret skriptu. První dva znaky na prvním řádku ve skriptu jsou #!. Aktuální shell interpretuje to, co následuje, jako název cesty pro podshell pro spuštění skriptu.

Poznámka – „První dva znaky na prvním řádku“ znamená, že před těmito znaky nesmí být žádné prázdné řádky ani mezery.

V následujících příkladech je zadaný shell rozvětvený jako podshell pro spuštění skriptu.

#!/bin/sh 
#!/bin/csh 
#!/bin/ksh

Vkládání komentářů do skriptu

Lidé, kteří píší scénáře, obvykle nejsou jediní, kdo je čtou. Mnoho lidí spouští skripty napsané jinými. Pokud si prohlédnou obsah souboru skriptu, aby viděli, co skript dělá, je užitečné, když autor skriptu zahrnul do komentářů nějaké vysvětlení.

Je dobrým zvykem vkládat komentáře do programů a skriptů shellu. Komentáře by měly vysvětlovat účel skriptu a měly by vysvětlovat konkrétní řádky, které by mohly být obzvláště matoucí.

Ukázkový skript, my_script.sh zobrazený níže, má na začátku skriptu komentář vysvětlující, co skript dělá, když je spuštěn.

# cat my_script.sh
#!/bin/sh

# This script clears the window, greets the user.

clear
echo "SCRIPT BEGINS"

echo "Hello $LOGNAME!"

Přidání komentářů neovlivní provádění skriptu, pokud se při přidávání komentářů neobjeví syntaktická chyba. Komentáře jsou zde pro účely dokumentace, takže někdo, kdo čte skript, bude mít představu o tom, co se stane, když se skript spustí.

Komentáře jsou někdy první řádky zadané do skriptu shellu. Komentáře mohou obsahovat seznam operací krok za krokem, které je třeba provést. Chcete-li provést operaci, postupujte podle jednotlivých řádků komentáře podle příkazů operačního systému.

UNIX / Linux:Co je to Shell? Jaké jsou různé shelly?
Jak ladit skripty shellu


Linux
  1. Jak vytvořit skript příkazu Linux

  2. Jak zacházet s přepínači ve skriptu Shell?

  3. Jak spouštět skripty Pythonu ze shellu

  1. Jak vytvořit dočasný soubor ve skriptu Shell?

  2. Skrýváte heslo ve skriptech Shell?

  3. Jak vytvořím crontab pomocí skriptu

  1. Jak používat proměnné ve skriptování Shell

  2. Jak vytvořit Shell skripty

  3. Jak spustit skript shellu při spuštění