it-swarm-eu.dev

Jaký je rozdíl mezi interaktivními skořápkami, přihlašovacími skořápkami, nepřihlašovacími skořápkami a jejich případy použití?

Možný duplikát:
Rozdíl mezi přihlašovacím a bez přihlašovacím shellem?

Díval jsem se na/etc/profile. bash.bashrc, abyste viděli, jak jsou spuštěny, a všimněte si, že některé jsou spouštěny pomocí přihlašovacích shellů, některé pracují s interaktivními shelly atd.

Jaké jsou rozdíly v tomto typu skořápek, tj. Interaktivní a neinteraktivní, přihlašovací a nepřihlašovací atd.?

Otázka může být docela základní, ale zdá se, že se musím nejprve zeptat, co je Shell. Co je to Shell, jaký je jeho význam, jak se používá a proč existuje na začátku?

Aktualizace: Abychom lépe porozuměli záměru této otázky, musím kromě definic pochopit i případy použití jednoho typu Shell nebo jiného. K porozumění slouží nejen případy použití, ale nejen definice slovníku.

85
vfclists

Shell je obecný název pro jakýkoli program, který vám dává textové rozhraní pro interakci s počítačem. Zadáte příkaz a výstup se zobrazí na obrazovce.

Mnoho prostředí má skriptovací schopnosti: Vložte do skriptu více příkazů a prostředí Shell je provede, jako by byly napsány z klávesnice. Většina prostředí nabízí další programovací konstrukty, které rozšiřují skriptovací funkci do programovacího jazyka.

Ve většině systémů Unix/Linux je k dispozici několik prostředí: bash, csh, ksh, sh, tcsh, zsh, abychom jmenovali alespoň některé. Liší se v různých možnostech, které uživateli dávají k manipulaci s příkazy, a ve složitosti a schopnostech skriptovacího jazyka.

Interactive: Jak tento termín naznačuje: Interactive znamená, že příkazy jsou spouštěny s uživatelskou interakcí z klávesnice. Např. Shell může vyzvat uživatele k zadání vstupu.

Neinteraktivní: Shell je pravděpodobně spuštěn z automatizovaného procesu, takže nemůže předpokládat, zda může požádat o vstup nebo že někdo uvidí výstup. E.g Možná je nejlepší zapsat výstup do souboru protokolu.

Login: Znamená to, že Shell je spuštěn jako součást přihlášení uživatele do systému. Obvykle se používá k jakékoli konfiguraci, kterou uživatel potřebuje/chce založit své pracovní prostředí.

Non-login: Jakýkoli jiný Shell spuštěný uživatelem po přihlášení, nebo který je spuštěn automatickým procesem, který není spojen s přihlášeným uživatelem.

98
Tonny

Pro některé lidi, kteří nikdy neměli počítač odpojený od Internetu, by mohlo být zvláštní, že s nimi je již dodáváno mnoho odpovědí týkajících se systémů UNIX. Například g., man bash , sekce „Invocation“:

Interaktivní prostředí je prostředí spouštěné bez argumentů bez možnosti a bez volby -c, jejíž standardní vstup a chyba jsou připojeny ke terminálům (jak je určeno isatty (3)), nebo jeden spuštěn s volbou -i. PS1 je nastaven a $ - zahrnuje i, pokud je bash interaktivní, což umožňuje skriptu Shell nebo spouštěcímu souboru otestovat tento stav.

11
poige