Invia.cz
Last minute
Tunisko
Dovolená v Chorvatsku
Pojeďte do Egypta
Bulharsko
Vydělávejte peníze s INVIA.CZ
C shell (csh) je unixový shellu vyvinutý Billem Joyem pro BSD Unix.
Byl původně odvozen z šestého vydání Unixu /bin/sh (kterým byl Thompson shell), předchůdce Bourne shell. Jeho syntaxe je silně ovlivněná programovacím jazykem C (odtud pochází název shellu). C shell přidal mnoho vylepšení oproti Bourne shell, jako například aliasy a historii příkazů.
V současné době není původní C shell v Unixu široce využiván; byl nahrazen jinými (částečně kompatibilními) shelly jako je Tenex C shell (tcsh). Nezávisle vyvinutý a zmodernizovaný C shell, vytvořený Nicolem Hamiltonem, také přežil ve Windows ve formě Hamilton C shell.
Obsah |
Zástupné znaky slouží k usnadnění zadávání argumentů. Jejich použití je zcela stejné jako u shellu standardního.
* - vyhoví libovolný řetězec, př. a* -> a, ab ? - vyhoví jeden libovolný znak, př. a? -> aa, ab, ac \ - zbavuje následujícího znaku jeho speciálního významu
[abc] - vyhoví libovolný znak z uvedených znaků, př. a[ab] -> aa, ab
Důležité je, že soubory se jmény začínající tečkou jsou zpracovány jinak. Je to proto, aby při použití zástupných znaků nemohly být omylem postiženy soubory . ( což je aktuální adresář ) nebo . ( nadřazený adresář ) ani další soubory začínající tečkou. Navíc C-shell používá znak, který standardní shell nemá, a to ~ ( tilda ). Tento znak znamená domovský adresář.
Standardní vstup / výstup může být přesměrován do souboru symboly:
Výhodou C-shellu je, že umožňuje chránit soubory před omylným přepsáním špatného přesměrování výstupu. Další výhodou je, že pokud máme nastavenou proměnnou noclobber, tak nám C-shell odmítne přesměrovat výstup příkazu do již existujícího souboru.
Máme – li zadán jeden nebo více příkazů na příkazovém řádku, C-shell z nich vytvoří jednotku zvanou job. Pokud je příkazový řádek ukončen znakem &, je job spuštěn na pozadí. Job spuštěný na pozadí probíhá zároveň s jobem prováděným na popředí. Při spouštění jobu na pozadí vrací C-shell číslo jobu ( je zobrazeno v hranatých závorkách ) a identifikační čísla procesů, z nichž je job složen.
Hodnotou proměnné v C-shellu je řetězec. Přiřazení hodnoty proměnné se provádí příkazem set. Samotný příkaz set bez argumentů vypíše hodnoty všech definovaných proměnných, které C-shell používá ke svojí práci. Přes proměnnou argv má autor scénáře přístup k jednotlivým argumentům – pozičním parametrům dané kopie C-shellu. Proměnná cwd je absolutní jméno aktuálního adresáře. Home obsahuje absolutní jméno domovského adresáře. V proměnné path hledá C-shell příkazové soubory. Prompt obsahuje řetězec, kterým dává C-shellu výzvu k zadání příkazu. Ve status najdeme stavový příznak vrácený posledním skončeným programem. Term označuje typ terminálu, ze kterého uživatel pracuje. User je jméno uživatele přihlašujícího se do systému.
C-shell je schopný zapamatovat si několik předcházejících příkazových řádků, které uživatel zadal a tedy lze se k těmto příkazům vrátit nebo je upravit a tak použít v pozměněné podobě. Počet příkazových řádků je dán obsahem proměnné history (obvykle je nastaven na hodnotu 10).