Unix shell je skořápka určena pro operační systémy Unix a Unix , který umožňuje přístup k funkcím interního operačního systému. Má podobu rozhraní příkazového řádku přístupného z konzoly nebo terminálu . Uživatel vydává příkazy jako textový záznam, který je poté proveden shellem. V různých operačních systémech Microsoft Windows je analogovým programem command.com nebo cmd.exe .
Operační systémy typu Unix mají nejčastěji shell. Původně byl výchozí příkazový tlumočník sh , který způsobil vznik mnoha variací, včetně csh , rozšířených v tcsh nebo ksh nebo rc ... Ale dnes je nejoblíbenější shell bash , inspirovaný sh , ksh a csh , i když existují i další tlumočníci prostředí, jako je zsh nebo ash .
První shell je Thompson shell (in) se objevil v roce 1971 s první verzí Unixu a napsal Ken Thompson , jeden z tvůrců Unixu . To bylo nahrazeno shellem Bourne , napsaný Stephenem Bournem , v roce 1977 pro Unix verze 7 .
V roce 1978 vytvořil Bill Joy , tehdy student Kalifornské univerzity v Berkeley , csh (C shell), vývoj prostředí, jehož syntaxe byla inspirována syntaxí jazyka C. Modernější verze csh je poté vydána pod názvem tcsh .
Korn shell (ksh) byla zveřejněna v roce 1983 David Korn . Je kompatibilní s shellem Bourne , přebírá některé funkce csh a přidává pokročilé skriptovací funkce dostupné v pokročilejších jazycích, jako je Perl .
Bourne-Again shell (bash) se objevil v roce 1988. To bylo napsáno Brian Fox pro Free Software Foundation jako součást GNU projektu . Je to skořápka mnoha bezplatných implementací Unixu , jako jsou systémy GNU / Linux . Je kompatibilní s shellem Bourne, jehož zamýšlenou implementací je bezplatná implementace.
Paul Falstad založil zsh v roce 1990, když byl studentem na Princetonské univerzitě . Tento shell přebírá nejpraktičtější funkce bash , csh , tcsh .
Mušle umožňují provádět přesměrování. Přesměrování je přesměrování vstupu nebo výstupu příkazu na jiný příkaz nebo soubor.
Syntax:
commande > fichierVýsledek vyvolání příkazu commandese zapíše do souboru fichiera přepíše předchozí obsah.
Příklad:
$: cat file Welcome $: echo "Hello world" > file $: cat file Hello worldSyntax:
commande >> fichierVýsledek vyvolání příkazu commandebude zapsán do souboru fichierpodle údajů, které již jsou k dispozici.
Příklad:
$: cat file Welcome $: echo "Hello world" >> file $: cat file Welcome Hello worldSyntax:
commande < fichierPříkaz commandepřečte obsah souboru fichiernamísto čtení ze standardního vstupu (klávesnice).
Příklad:
$: cat < file WelcomeSyntax:
commande << ENDPříkaz commandebude číst na standardním vstupu, dokud nenarazí na slovo následující po dvojitém přesměrování.
Příklad:
$: cat << TOTO ? foo ? bar ? moomoo ? TOTO foo bar moomooSyntax:
commande_1 | commande_2Výsledek příkazu commande_1bude přesměrován na vstup druhého příkazu commande_2.
Příklad:
$: echo "Hello world" | grep -o "Hello" Hellosh | ksh | csh | tcsh | bash | zsh | |
---|---|---|---|---|---|---|
/etc/.login | přihlásit se | přihlásit se | ||||
/etc/csh.cshrc | Ano | Ano | ||||
/etc/csh.login | přihlásit se | přihlásit se | ||||
~ / .tcshrc | Ano | |||||
~ / .cshrc | Ano | Ano | ||||
~ / etc / ksh.kshrc | int. | |||||
/etc/sh.shrc | int. | |||||
$ ENV (obvykle ~ / .kshrc) | int. | int. | int. | |||
~ / .login | přihlásit se | přihlásit se | ||||
~ / .odhlásit | přihlásit se | přihlásit se | ||||
/ etc / profil | přihlásit se | přihlásit se | přihlásit se | přihlásit se | ||
~ / .profil | přihlásit se | přihlásit se | přihlásit se | přihlásit se | ||
~ / .bash_profile | přihlásit se | |||||
~ / .bash_login | přihlásit se | |||||
~ / .bash_logout | přihlásit se | |||||
~ / .bashrc | int. + n / přihlášení | |||||
/ etc / zshenv | Ano | |||||
/ etc / zprofile | přihlásit se | |||||
/ etc / zshrc | int. | |||||
/ etc / zlogin | přihlásit se | |||||
/ etc / zlogout | přihlásit se | |||||
~ / .zshenv | Ano | |||||
~ / .zprofile | přihlásit se | |||||
~ / .zshrc | int. | |||||
~ / .zlogin | přihlásit se |