Porovnání velitelských granátů - Comparison of command shells
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto otázkách na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|

A příkazový shell je rozhraní příkazového řádku počítačový program do operační systém.
Obecná charakteristika
Shell | Obvyklé prostředí | Obvykle vyvoláno | Představený | Nezávislé na platformě | Výchozí přihlašovací shell ve Windows | Výchozí prostředí skriptu ve Windows | Licence | Dostupnost zdrojového kódu | Uživatelské rozhraní | Podpora myši | Unicode Podpěra, podpora | ISO 8601 Podpěra, podpora | Přesměrování konzoly | Proud přesměrování | Konfigurovatelnost | Spouštěcí / vypínací skripty | Dávkové skripty | Protokolování | k dispozici jako staticky propojený, samostatný spustitelný soubor s jedním souborem |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thompsonova skořápka | UNIX | sh | 1971 | N / A | UNIX | UNIX | N / A | Ano | Textový CLI | Ne | Ne | N / A | Ano | N / A | N / A | N / A | N / A | N / A | N / A |
Bourneova skořápka Verze 1977 | 7. vyd. UNIX | sh | 1977 | Ano[1] | 7. vyd. UNIX | 7. vyd. UNIX, | Proprietární[2] | Ano | Textový CLI | Ne | Ne | N / A | Ano | Ano (libovolné fds) | Ano (prostřednictvím proměnných a možností) | Ano (.profil) | Ano (funkce Unix) | Ne | Ano |
Bourneova skořápka současná verze | Rozličný UNIX | sh | 1977 | Ano[3] | SunOS-5.x, FreeBSD (uživatel bez oprávnění root)[4] | SunOS-5.x | CDDL[5][je zapotřebí lepší zdroj ] | Ano | Textový CLI | Ne | Ano[poznámka 1][je zapotřebí lepší zdroj ] | N / A | Ano | Ano (libovolné fds) | Ano (prostřednictvím proměnných a možností) | Ano (.profil) | Ano (funkce Unix) | Ano[pozn. 2] | Ano |
POSIX skořápka[6] | POSIX | sh | 1992[7] | N / A | N / A | POSIX | N / A | N / A | Textové rozhraní příkazového řádku | Ne | Ano, pokud je použito nakonfigurovaným národním prostředím | N / A | Ano | Ano (libovolné fds) | Ano (prostřednictvím proměnných a možností) | Nespecifikováno (.profil uveden jako příklad) | Ano (funkce Unix) | Ano | N / A |
bash (v4) | POSIX | bash, sh | 1989[8] | Ano | GNU, Linux (výchozí pro root), Operační Systém Mac 10.3–10.14 | GNU, Linux, Haiku, Operační Systém Mac 10.3–10.14 | GPL | Ano | Textové rozhraní příkazového řádku | Ne | Ano[9][je zapotřebí lepší zdroj ] | Ano (printf vestavěný) | Ano | Ano (libovolné fds) | Ano (prostřednictvím proměnných a možností) | Ano (/ etc / profil, .bash_profile, .bash_login, .profil, .bashrc) | Ano (funkce Unix) | Ano | Ano |
csh | POSIX | csh | 1978 | Ano | SunOS | ? | BSD | Ano | Textové rozhraní příkazového řádku | Ne | Ne | ? | Ano | Ano (stdin, stdout, stdout + stderr) | Ano (prostřednictvím proměnných a možností) | Ano (~ / .cshrc, ~ /. přihlaste se, ~ / .odhlásit) | Ano (funkce Unix) | Ano | Ano |
tcsh | POSIX | tcsh, csh | 1983[10] | Ano | FreeBSD (výchozí pro root), dříve Mac OS X | ? | BSD | Ano | Textové rozhraní příkazového řádku | Ne | Ano | ? | Ano | Ano (stdin, stdout, stdout + stderr) | Ano (prostřednictvím proměnných a možností) | Ano (/etc/csh.cshrc, /etc/csh.login, ~ / .tcshrc, ~ / .cshrc, ~ / .historie, ~ /. přihlaste se, ~ / .cshdirs) | Ano (funkce Unix) | Ano | Ano |
Hamilton C shell | Win32, OS / 2 | csh | 1988[11] | Ano (verze OS / 2 již není udržována) | Volitelný | Volitelný | Proprietární | Ne | Textové rozhraní příkazového řádku | Ne | Ne | Ano (-t operátor časového razítka) | Ano | Ano (stdin, stdout, stdout + stderr) | Ano (prostřednictvím proměnných a možností) | Ano (přes login.csh, startup.csh a logout.csh) | Ano (možnost příkazového řádku) | Ano | Ano |
Scsh | POSIX | scsh | 1994 | Ano | ? | ? | BSD -styl | Ano | ? | ? | ? | ? | ? | Ano | ? | ? | ? | ? | Ano |
ksh (ksh93t +) | POSIX | ksh | 1983[12][13] | Ano | AIX, HP-UX | OpenSolaris | Společná veřejná licence | Ano | Textové rozhraní příkazového řádku | Ne | Ano | Ano (printf vestavěný s % (% F) T[14]) | Ano | Ano (libovolné fds) | Ano (prostřednictvím proměnných a možností) | Ano (systém a uživatel profil a kshrc) | Ano (funkce Unix) | Ano | Ano |
pdksh | POSIX | ksh, sh | 1989? | Ano | OpenBSD[15] | OpenBSD[15] | Veřejná doména | Ano | Textové rozhraní příkazového řádku | Ne | Ne | N / A | Ano | Ano (libovolné fds) | Ano (prostřednictvím proměnných a možností) | Ano (/ etc / profil, .profil) | Ano (funkce Unix) | Ano | Ano |
zsh | POSIX | zsh | 1990 | Ano | Hluboko v, GoboLinux, Grml, Operační Systém Mac 10.15+ | Grml, Operační Systém Mac 10.15+ | MIT -styl | Ano | Textové rozhraní příkazového řádku | prostřednictvím dalšího kódu[16] | Ano | Ano (různé interní funkce týkající se data, pomocí %F strftime formát[17] a -i možnost pro fc vestavěný[18]) | Ano | Ano (libovolné fds) | Ano (prostřednictvím proměnných, možností, funkcí, stylů atd.) | Ano (systém a uživatel zshenv, zprofile, zshrc, zlogin, zlogout) | Ano (funkce Unix) | Ano | Ano |
popel | POSIX | sh | 1989 | Ano | Minix, BusyBox založené systémy | NetBSD, Minix, BusyBox založené systémy | BSD -styl | Ano | Textové rozhraní příkazového řádku | Ne | Částečné (pro BusyBox, podporované při úpravách na příkazovém řádku, ale ne při zpracování řetězců[19]) | N / A | Ano | Ano (libovolné fds) | Ano (prostřednictvím proměnných a možností) | Ano (/ etc / profil, .profil) | Ano (funkce Unix) | Ano | Ano |
CCP | CP / M, MP / M | (CCP) | 1976 (1974) | Ne | CP / M (bez přihlášení), MP / M | CP / M, MP / M | Freeware (původně proprietární) | Ano (původně uzavřený zdroj) | Textový CLI | Ne | Ne | Ne | Ne | Ne | Ne | Ano (automaticky přes $$$. SUB) | Částečné (pouze přes externí PŘEDLOŽIT příkaz k aktualizaci $$$. SUB) | Ne | Ano |
COMMAND.COM | DOS | PŘÍKAZ | 1980 | Ne (implementace třetích stran, nejsou vázány na konkrétního dodavatele nebo verzi systému DOS, k dispozici) | DOS, Windows 95, 98, SE, MĚ | DOS, Windows 95, 98, SE, MĚ | specifické pro dodavatele, např. SLEČNA -EULA,[pozn. 3] nebo BSD /GPL (volné klony) | Ne (kromě OpenDOS, DR-DOS, PTS / DOS a FreeDOS) | Textové rozhraní příkazového řádku | Ne | Ne | Ne (kromě DR-DOS) | Ano (prostřednictvím Příkaz con: nebo CTTY con:) | Ano (stdin, stdout) | Ano (prostřednictvím spouštěcích parametrů a proměnných prostředí DR-DOS také podporuje DIR / C / R uživatelský výchozí přepínač) | Ano (automaticky AUTOEXEC.BAT pro primární shell, nebo výslovně přes / Str, /P:filename.bat nebo / K. možnosti spuštění) | Ano (prostřednictvím VOLÁNÍ příkaz nebo /C a / K. možnosti spuštění) | Ne | Ano |
OS / 2 CMD.EXE | OS / 2, eComStation, ArcaOS | CMD | 1987 | Ne | OS / 2, eComStation, ArcaOS | OS / 2, eComStation, ArcaOS | IBM -EULA[pozn. 4] | Ne | Textové rozhraní příkazového řádku | Ne | Ne | Ne | Ne | Ano (stdin, stdout, stderr) | ? | Částečné (pouze prostřednictvím / K. možnost spuštění) | Ano (prostřednictvím VOLÁNÍ příkaz nebo /C a / K. možnosti spuštění) | Ne | Ano |
Okna CMD.EXE[pozn. 5] | Win32 | CMD | 1993 | Ne | Okna NT, 2000, XP, Server 2003, Vista | Okna NT, 2000, XP, Server 2003, Vista | SLEČNA -EULA[pozn. 6] | Ne | Textové rozhraní příkazového řádku | Ne | Částečný (CHCP 65001 pro UTF-8, ale argumenty programu jsou stále zakódovány v místní kódové stránce) | Ne | Ne | Ano | Ano (prostřednictvím registru, spouštěcích parametrů a proměnných prostředí) | Ano (automaticky prostřednictvím registru nebo výslovně prostřednictvím / K. možnost spuštění) | Ano (prostřednictvím VOLÁNÍ příkaz nebo /C a / K. možnosti spuštění) | Ne | Ano |
4DOS, NDOS | DOS, Windows 95, 98, SE, MĚ | 4DOS, NDOS | 1989 (1986) | Ne (není vázáno na konkrétního dodavatele OS nebo verzi) | Volitelný | Volitelný | Licence MIT, s omezeními | Ano | Textové CLI s TUI rozšíření | Ano (vyskakovací okna, systém nápovědy, %_MYŠ vnitřní proměnná, INKEY / M příkaz) | Ne | Ano | Ano (prostřednictvím CTTY con:, až na DRAWBOX, DRAWLINE, DRAWVLINE, SEZNAM, OBRAZOVKA, SCRPUT, VYBRAT, VSCRPUT příkazy a vybarvení souboru / adresáře) | Ano (stdin, stdout, stderr, stdout + stderr) | Ano (prostřednictvím 4DOS.INI/NDOS.INI soubor, spouštěcí parametry, proměnné prostředí, SETDOS příkaz) | Ano (automaticky AUTOEXEC.BAT pro primární plášť a 4START.BTM/4START.BAT stejně jako 4EXIT.BTM/4EXIT.BAT pro jakýkoli shell, nebo výslovně přes / Str, /P:dirfilename.ext nebo / K. možnosti spuštění) | Ano (prostřednictvím VOLÁNÍ příkaz nebo /C a / K. možnosti spuštění) | Ano | Ano |
4OS2 | OS / 2, eComStation, ArcaOS | 4OS2 | 1992 | Ne (není vázáno na konkrétní verze OS / 2) | Volitelné (ale dodávané s ArcaOS) | Volitelný | Freeware | Ano | Textové rozhraní příkazového řádku | Ne | Ne | Ne | Ne | Ano (stdin, stdout, stderr, stdout + stderr) | Ano (prostřednictvím 4OS2.INI soubor, spouštěcí parametry, proměnné prostředí, SETDOS příkaz) | Ano (automaticky přes 4START.CMD/4START.BTM stejně jako 4EXIT.CMD/4EXIT.BTM soubory, nebo výslovně prostřednictvím / K spuštění.cmd volba) | Ano (prostřednictvím VOLÁNÍ příkaz nebo /C a / K. možnosti spuštění) | Ano | ? |
TCC (dříve 4NT) | Win32 | TCC | 1993 | Ne (není vázáno na konkrétní verze NT) | volitelný | volitelný | Shareware | Ne | Textové rozhraní příkazového řádku (Převezměte velení: GUI ) | Ano (konzolová myš, vyskakovací okna, systém nápovědy, % _XMOUSE, % _YMOUSE vnitřní proměnné, INKEY / M příkaz) | Ano | Ano | Ne | Ano (stdin, stdout, stderr, stdout + stderr) | Ano (prostřednictvím registru, TCMD.INI/4NT.INI soubor, spouštěcí parametry, proměnné prostředí, SETDOS příkaz) | Ano (automaticky prostřednictvím registru a TCSTART/4START stejně jako TCEXIT/4EXIT, nebo výslovně prostřednictvím / K. možnost spuštění) | Ano (prostřednictvím VOLÁNÍ příkaz nebo /C a / K. možnosti spuštění) | Ano | Ne |
VMS DCL[20] | OpenVMS | Automaticky pro přihlášení / interaktivní proces | 1977? | Ano | VMS | VMS | Proprietární, dodávaný ve VMS | pouze na zvláštní licenci | Textové rozhraní příkazového řádku | s DECwindows / Motif | Ano | Ano, minimálně do roku 1988 | Ano | Ano (vstup sys $, sys $ výstup úkol) | Ano (prostřednictvím symbolů, logických jmen a možností) | Ano (SYS $ MANAGER: SYLOGIN.COM a uživatelem definované LOGIN.COM) | Ano | Ano | Ne |
PowerShell | .SÍŤ | PowerShell | 2006 | Ano | Okna 10, 8, Server 2008, 7, Vista, XP[pozn. 7] | Okna 10, 8, Server 2008, 7 | MIT -styl | Ano | Grafické rozhraní příkazového řádku | Ano | Ano | Ano | Ne | Ano | Ano (prostřednictvím proměnných a možností) | Ano (% USERPROFILE% Documents WindowsPowerShell Microsoft.PowerShell_profile.ps1) | Ano (funkce PowerShell) | Ano | Ne |
rc | Plán 9, POSIX | rc | 1989 | Ano | Plán 9, Verze 10 Unix | Plán 9, Verze 10 Unix | Veřejná licence Lucent | ? | ? | ? | Ano | ? | ? | Ano | ? | ? | ? | ? | Ano |
BeanShell | Jáva | ? | 2005 | Ano | ? | ? | LGPL | ? | ? | ? | Ano | ? | ? | Ano | ? | ? | ? | ? | Ne |
Ryba | POSIX | Ryba | 2005[21] | Ano | GhostBSD | ? | GPL | Ano | Textové rozhraní příkazového řádku | ? | Ano | ? | ? | Ano (libovolné fds) | Ano (prostřednictvím proměnných prostředí a prostřednictvím webového rozhraní prostřednictvím fish_config) | Ano (/etc/fish/config.fish a ~ / .config / fish / config.fish) | Ano (funkce Unix) | Ano (~ / .config / fish / fish_history *) | ? |
Ion | Redox, Linux | ion | 2015[22] | Ano | Redox | Redox | MIT | Ano | Textové rozhraní příkazového řádku | ? | Ano | Ano | ? | Ano (libovolné fds) | Ano (odpovídá specifikaci XDG Base Directory) | Ano (~ / .config / ion / initrc) | Ano | Ano (~ / .local / share / ion / history) | Částečné (nedistribuováno jako samostatný spustitelný soubor, ale lze jej vytvořit jako jeden) |
Shell | Obvyklé prostředí | Obvykle vyvoláno | Představený | Nezávislé na platformě | Výchozí přihlašovací shell ve Windows | Výchozí prostředí skriptu ve Windows | Licence | Dostupnost zdrojového kódu | Uživatelské rozhraní | Podpora myši | Unicode Podpěra, podpora | ISO 8601 Podpěra, podpora | Přesměrování konzoly | Proud přesměrování | Konfigurovatelnost | Spouštěcí / vypínací skripty | Dávkové skripty | Protokolování | k dispozici jako staticky propojený, samostatný spustitelný soubor s jedním souborem |
Interaktivní funkce
Shell | Příkaz název dokončení | Cesta dokončení | Příkaz argument dokončení | Divoká karta dokončení | Příkaz Dějiny | Povinné argument výzva | Automatický návrhy | Barevný adresář výpisy | Text zvýraznění | Syntax zvýraznění | Historie adresáře, zásobník nebo podobné funkce | Implicitní adresář změna | Autokorekce | Integrovaný životní prostředí | Úryvky | Hodnota výzva | Nabídka / možnosti výzva | Pokrok indikátor | Kontext citlivý Pomoc | Příkaz stavitel |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thompsonova skořápka | Ne | Ne | Ne | Ne | Ne | Ne | Ne | ? | ? | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Bourneova skořápka Verze 1977 | Ne | Ne | Ne | Ne | Ne | Ne | Ne | ? | ? | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne |
Bourneova skořápka současná verze | Ne | Ano[pozn. 8] | Ne | Ne | Ano[pozn. 8] | Ne | Ne | Ano | Ano | Ne | Ano (CDPATH, pushd, popd, dirs), CDPATH od SVr4 | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne |
POSIX skořápka | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ano | Ano | Ne | Ano (CDPATH) | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne |
bash (v4.0) | Ano | Ano | pokud jsou definovány | Ano[pozn. 9] | Ano | Ne | Ne | Ano | Ano | Ne | Ano (CDPATH, pushd, popd) | volitelný | Ne | Ne | Ne | Ano | Ano | Ne | Ne | Ne |
csh | Ano | Ano | Ne | Ne | Ano | Ne | Ne | Ano | Ano | Ne | Ano (cdpath, pushd, popd) | volitelný | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne |
tcsh | Ano | Ano | pokud jsou definovány | Ne | Ano | Ne | Ne | Ano | Ano | Ne | Ano (cdpath, pushd, popd) | volitelný | Ano | Ne | Ne | Ano | Ne | Ne | Ne | Ne |
Hamilton C shell | Ano | Ano | Ne | Ano | Ano | Ne | Ne | ? | ? | Ne | Ano (cdpath, pushd, popd) | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne |
Scsh | Ne | Ne | Ne | Ne | Ne | Ne | Ne | ? | ? | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne |
ksh (ksh93t +) | Ano (rozšiřitelný) | Ano (rozšiřitelný) | Ne | Ne | Ano | Ne | Ne | Ano | Ano | Ne | Ano (cdpath vestavěný, pushd, popd implementováno jako funkce) | Ne | Ne | Ne | Ne | Ano | Ano | Ne | Ne | Ne |
pdksh | Ano | Ano | Ne | Ne | Ano | Ne | Ne | Ano | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ano | Ne | Ne | Ne |
zsh | Ano | Ano | pokud jsou definovány | Ano[23] | Ano | Ne | Ano (prostřednictvím předvídat nebo definované uživatelem[24]) | Ano | Ano | Rozšíření třetí strany[25] | Ano | volitelný | Ano | Ne | pokud jsou definovány (jako widgety ZLE) | Ano | Ano | Ne | Ano | Ne |
popel | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ano | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ano | Ne | Ne | Ne |
CCP | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
COMMAND.COM | Ne | Ne | Ne | Ne | Ne[pozn. 10][pozn. 11] | Ne | Ne | Ne | Ne (pouze v systému DR-DOS prostřednictvím % $ ON%, % $ OFF%, % $ HEADER%, % $ FOOTER% ) | Ne | Ne | Ne | Ne | Ne (pouze jednostupňové s COMMAND / Y[26]) | Ne | Ne | Ne (pouze přes externí VÝBĚR příkaz, v DR-DOS také přes PŘEPÍNAČ / DRSWITCH interní příkazy) | Ne | Ne | Ne |
OS / 2 CMD.EXE | Ano | Ano | Ne | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Okna CMD.EXE | částečný | částečný | Ne | Ne | Ano (F8) | Ne | Ne | Ne | Ne | Ne | Ano (PUSHD, POPD) | Ne | Ne | Ne | Ne | Ano (prostřednictvím SET / P příkaz) | Ne | Ne | Ne | Ne |
4DOS | Ano | Ano | Ano | Ano | Ano[pozn. 12][pozn. 13] | Ne | Ne | Ano | Ne | Ne | (prostřednictvím vyskakovacího okna, rozšířeného vyhledávání v adresáři, CDPATH, PUSHD, POPD, PŘÍBĚH, ŘÁDY, CDD, CD - příkazy a % @ DIRSTACK [] funkce) | Ano | Ne | Ano | Ne | Ano (prostřednictvím VSTUP, INKEY a ESET příkazy) | Ano (prostřednictvím @VYBRAT[] funkce a nepřímo kombinací INKEY, VSTUP, PŘEPÍNAČ příkazy) | Ne | Ano | Ne (kromě VOLBA příkaz pro direktivy souborů INI) |
4OS2 | ? | ? | ? | ? | Ano | Ne | Ne | Ano | Ne | Ne | Ano | Ano | Ne | ? | Ne | ? | ? | Ne | Ano | Ne |
TCC (dříve 4NT) | Ano | Ano | Ano | Ano | Ano | Ne | Ne | Ano | Ne | Ano | (prostřednictvím vyskakovacího okna, rozšířeného vyhledávání v adresáři, CDPATH, PUSHD, POPD, PŘÍBĚH, ŘÁDY, CDD, CD - příkazy a % @ DIRSTACK [] funkce) | Ano | Ne | Ano | Ne | Ano (prostřednictvím VSTUP, INKEY, ESET a SET / P příkazy) | Ano (prostřednictvím @VYBRAT[] funkce a nepřímo kombinací INKEY, VSTUP, PŘEPÍNAČ příkazy)[pozn. 14] | Ne | Ano | Ne |
PowerShell | Ano | Ano | Ano | Ano | Ano (F8) | Ano | Ano, na ISE[27] | ? | ? | Ano, na ISE[27] a PSReadLine[28] modul (součástí verze 5.0[29]) | Ano; více stohů; více typů umístění[30] | Ne | Ano, v PSReadLine[28] modul | Ano, na ISE[27] | Ano, na ISE[27] | Ano | Ano[31] | Ano[32] | Ano, na ISE[27] | vyskakovací okno[33] |
rc | Ano[pozn. 15] | Ano[pozn. 15] | Ne | Ne | Ano[pozn. 15] | Ne | Ne | ? | ? | Ne | Ne | Ne | Ne | Ne | Ne | ? | Ne | Ne | Ne | Ne |
BeanShell | Ano | Ano | Ne | Ne | Ne | Ne | Ne | ? | ? | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
VMS DCL | Minimální schéma jedinečnosti | Ne | Ne | Ne | Ano | Ano | Ne | ? | ? | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne | Ne | Ne |
Ryba | Ano | Ano | když jsou definovány nebo analyzovatelné na manuálových stránkách[34] | Ano[34] | Ano | Ne | Ano | ? | ? | Ano | Ano | Ano | Ano | Ano[pozn. 16] | Ne | Ano | (přes fish_config příkaz) | Ne | Ne | Ne |
Shell | Příkaz název dokončení | Cesta dokončení | Příkaz argument dokončení | Divoká karta dokončení | Příkaz Dějiny | Povinné argument výzva | Automatický návrhy | Barevný adresář výpisy | Text zvýraznění | Syntax zvýraznění | Historie adresáře, zásobník nebo podobné funkce | Implicitní adresář změna | Autokorekce | Integrovaný životní prostředí | Úryvky | Hodnota výzva | Nabídka / možnosti výzva | Pokrok indikátor | Kontext citlivý Pomoc | Příkaz stavitel |
Provedení na pozadí
Provedení na pozadí umožňuje prostředí spustit příkaz na pozadí. POSIX skořápky a další unixové skořápky umožňují provádění na pozadí pomocí & znak na konci příkazu a v PowerShell Můžeš použít Zahájení procesu
nebo Start-Job
příkazy.
Dokončení

Funkce dokončení pomáhají uživateli při zadávání příkazů na příkazovém řádku hledáním a doporučováním shodných slov pro neúplná. Dokončení se obvykle požaduje stisknutím klávesy pro dokončení (často Záložka ↹ klíč).
Dokončení názvu příkazu je doplnění názvu příkazu. Ve většině prostředí může být příkazem program v cestě příkazu (obvykle $ CESTA
), integrovaný příkaz, funkce nebo alias.
Dokončení cesty je dokončení cesty k souboru, relativní nebo absolutní.
Dokončení zástupných znaků je zobecnění dokončení cesty, kde výraz odpovídá libovolnému počtu souborů pomocí jakékoli podporované syntaxe pro shoda souborů.
Variabilní dokončení je doplnění názvu názvu proměnné (proměnná prostředí nebo proměnná prostředí). Bash, zsh a fish mají dokončení pro všechny názvy proměnných. PowerShell obsahuje doplnění názvů proměnných prostředí, názvů proměnných prostředí a - v rámci uživatelem definovaných funkcí - názvů parametrů.
Dokončení argumentu příkazu je doplnění argumentů konkrétního příkazu. Existují dva typy argumentů, pojmenovaný a poziční: Pojmenované argumenty, často nazývané možnosti, jsou identifikovány svým jménem nebo písmenem před hodnotou, zatímco poziční argumenty se skládají pouze z hodnoty. Některé skořápky umožňují doplnění názvů argumentů, ale jen málo podporuje vyplňování hodnot.
Bash, zsh a fish nabízejí doplnění názvu parametru prostřednictvím externí definice příkazu, distribuované v samostatném souboru definice dokončení. U dokončení parametru název / hodnota parametru příkazu tyto skořápky předpokládají dokončení cesty / názvu souboru, pokud u příkazu není definováno dokončení. Dokončení lze nastavit tak, aby navrhovalo dokončení voláním funkce prostředí.[35] Skořápka ryby navíc podporuje analýzu manuálové stránky extrahovat informace o parametrech, které lze použít ke zlepšení dokončení / doporučení. V PowerShellu všechny typy příkazů (rutiny, funkce, soubory skriptu) inherentně vystavují data o jménech, typech a platných rozsahech hodnot / seznamech pro každý argument. Tato metadata používá PowerShell k automatické podpoře doplnění názvu argumentu a hodnoty pro předdefinované příkazy / funkce, uživatelem definované příkazy / funkce i pro soubory skriptu. Jednotlivé rutiny mohou také definovat dynamické dokončení hodnot argumentů, kde jsou hodnoty dokončení vypočítány dynamicky v běžícím systému.
Historie velení
Uživatel prostředí může zjistit, že zadává něco podobného tomu, co zadal dříve. Pokud shell podporuje historie příkazů uživatel může zavolat předchozí příkaz do editoru řádků a před dalším vydáním jej upravit.
Skořápky, které podporují dokončení, mohou být také schopny přímo dokončit příkaz z historie příkazů daný částečnou / počáteční částí předchozího příkazu.
Většina moderních granátů podporuje historii příkazů. Mušle, které obecně podporují historii příkazů, také podporují dokončení z historie, nikoli jen vyvolání příkazů z historie. Kromě prostého textu příkazu zaznamenává PowerShell také historii zahájení a ukončení a stav provádění v historii příkazů.
Povinný argument
Povinné argumenty / parametry jsou argumenty / parametry, kterým musí být při vyvolání souboru příkazu, funkce nebo skriptu přiřazena hodnota. Prostředí, které dokáže určit před vyvoláním, že chybí povinné hodnoty, může interaktivnímu uživateli pomoci výzvou k zadání těchto hodnot místo toho, aby nechal příkaz selhat. Pokud budete mít příkazový řádek pro chybějící hodnoty, umožníte autorovi skriptu, příkazu nebo funkce označte parametr jako povinný namísto vytváření kódu skriptu, abyste buď vyzvali k chybějícím hodnotám (poté, co zjistíte, že je spuštěn interaktivně), nebo selhali se zprávou.
PowerShell umožňuje příkazům, funkcím a skriptům definovat argumenty / parametry jako povinné. Shell určí před vyvoláním, zda existují nějaké povinné argumenty / parametry, které nebyly vázány, a poté vyzve uživatele k zadání hodnoty před skutečným vyvoláním.[36]
Automatické návrhy

S automatickými návrhy shell sleduje, zatímco interaktivní uživatel píše, a zobrazuje kontextově relevantní návrhy, aniž by přerušoval psaní místo uživatele výslovně požaduje dokončení.
Prostředí PowerShell Integrated Scripting Environment používá zjistitelná metadata k poskytování „intellisense“ - tj. Návrhů, které se automaticky zobrazují jako typy uživatelů, kromě toho, když uživatel výslovně požaduje seznamy dokončení stisknutím například Záložka ↹
Historie adresáře, zásobník nebo podobné funkce
Prostředí může zaznamenat umístění, která uživatel použil jako aktuální umístění, a umožnit rychlé přepnutí na jakékoli umístění / adresář v historii.
Jedním z použití zásobníku adresářů zsh je záznam historie adresářů. Zejména AUTO_PUSHD možnost a pokročilé CD k tomuto účelu se používají argumenty a doplnění.
PowerShell umožňuje použít více pojmenovaných zásobníků. Umístění (adresáře) lze vložit do / vyskočit z aktuálního zásobníku nebo pojmenovaného zásobníku. Aktuálním (výchozím) zásobníkem se může stát jakýkoli zásobník. Na rozdíl od většiny ostatních mušlí, prostředí PowerShell umístění koncept umožňuje umístění zásobníků k uložení umístění systému souborů i dalších typů umístění, jako je např. Aktivní adresář organizační jednotky / skupiny, SQL Server databáze / tabulky / objekty, Internetový informační server aplikace / weby / virtuální adresáře.
4DOS a Take Command Console zaznamenávají historii aktuálních adresářů a umožňují uživateli přepnout do adresáře v historii pomocí vyskakovacího okna.
Implicitní změna adresáře
Název adresáře lze použít přímo jako příkaz, který implicitně změní aktuální umístění v adresáři.
To je třeba odlišit od nesouvisejícího načíst pohon funkce podporovaná Souběžný DOS, Multiuser DOS, Správce systému a SKUTEČNÉ / 32, kde písmeno jednotky L: bude implicitně aktualizováno tak, aby ukazovalo na cestu k načtení načtené aplikace, což aplikacím umožní odkazovat na soubory umístěné v jejich adresáři načtení pod standardizovaným písmenem jednotky místo pod absolutní cestou.[37]
Automatická oprava
Pokud příkazový řádek neodpovídá přímo příkazu nebo argumentům, kontrola pravopisu může automaticky opravit běžné chyby při psaní (například citlivost na velká a malá písmena, chybějící písmena). K tomu existují dva přístupy; shell může buď navrhnout pravděpodobné opravy po vyvolání příkazu, nebo k tomu může dojít dříve jako součást dokončení nebo autosugesce.
The tcsh a zsh mušle mají volitelnou kontrolu / opravu pravopisu po vyvolání příkazu.
Ryba provede autokorekci po dokončení a autosugesci. Tato funkce tedy není v cestě, když vypisujete celý příkaz a stisknete klávesu Enter, zatímco rozsáhlé používání karet a kláves se šipkami doprava způsobí, že prostředí je většinou malé a velké.
PSReadLine[28] Modul PowerShell (který je dodáván s verzí 5.0) poskytuje možnost zadat CommandValidationHandler ScriptBlock, který se spustí před odesláním příkazu. To umožňuje vlastní opravu obvykle chybně zadaných příkazů a ověření před skutečným spuštěním příkazu.
Integrované prostředí
Integrovaným prostředím je integrace rozhraní příkazového řádku s editory (obvykle více dokumentů), systém nápovědy a možná ladění a další nástroje.
Take Command Console (TCC) přichází s integrovaným prostředím s podoknem příkazového řádku, průzkumníkem souborů, editorem, dávkovým ladicím programem a dalšími.[38]
PowerShell ISE obsahuje podokno příkazového řádku s podporou integrovaného příkazového řádku, kopírování a vkládání, více editorů dokumentů, ladění na úrovni zdroje, podokno nápovědy, podokno Průzkumník příkazů a skriptovací rozhraní umožňující skriptům / modulům manipulovat s nabídkami, doplňky atd. ISE (nabídky, okna, klávesové zkratky, doplňky) lze přizpůsobit pomocí skriptů.[39]
Úryvky
Fragmenty jsou malé oblasti opakovaně použitelného kódu skriptu. Fragmenty se často používají k ukládání úhozů kláves nebo k pomoci uživateli s běžnými skriptovacími vzory. Mnoho textových editorů podporuje úryvky pro skriptování buď jako vestavěné funkce nebo prostřednictvím pluginů.
PowerShell podporuje použití fragmentů v integrovaném skriptovacím prostředí (ISE) Ctrl+J.[40]
Hodnota výzva
Shell skript může vyzvat interaktivního uživatele k zadání hodnoty.
Volič nabídky / možností
Skořápkový skript může interaktivnímu uživateli nabídnout seznam možností.
Indikátor pokroku
Shell skript (nebo úloha) může interaktivnímu uživateli hlásit průběh dlouhotrvajících úkolů.
Systémy Unix / Linux mohou nabízet podporu dalších nástrojů využívajících indikátory průběhu ze skriptů nebo jako samostatné příkazy, například program „pv“.[41] Nejedná se však o integrované funkce skořápek.
PowerShell má vestavěný příkaz a funkce API (pro použití při vytváření příkazů) pro psaní / aktualizaci indikátoru průběhu. Zprávy z indikátorů průběhu se odesílají odděleně od běžných výstupů příkazů a indikátor průběhu se vždy zobrazuje na nejvyšší interaktivní konzole uživatelů bez ohledu na to, zda zprávy o postupu pocházejí z interaktivního skriptu, úlohy na pozadí nebo vzdálené relace.
Interaktivní tabulka
Výstup z provedení příkazu lze zobrazit v tabulce / mřížce, kterou lze po ukončení provádění příkazu interaktivně třídit a filtrovat a / nebo jinak manipulovat.
PowerShell Out-GridView rutina zobrazuje data v interaktivním okně s interaktivním tříděním a filtrováním.
Barevné výpisy adresářů
Software JP procesory příkazového řádku poskytují uživatelem konfigurovatelné zabarvení názvů souborů a adresářů v seznamech adresářů na základě jejich přípony souboru nebo atributů prostřednictvím volitelně definované proměnné prostředí% COLORDIR%.
Pro skořápky Unix / Linux je to vlastnost je příkaz a terminál.
Zvýraznění textu
Procesory příkazového řádku v DOS Plus, Multiuser DOS, SKUTEČNÉ / 32 a ve všech verzích DR-DOS podporuje řadu volitelných proměnných prostředí pro definování sekvenci úniku, což umožňuje ovládat zvýraznění, převrácení nebo zbarvení textu pro účely zobrazení nebo tisku v příkazech jako TYP. Všechny uvedené procesory příkazového řádku podporují % $ ON% a % $ OFF%. Pokud jsou definovány, budou tyto sekvence emitovány před a za názvy souborů. Typická sekvence pro% $ ON% by byla 033 [1 m ve spojení s ANSI.SYS, 033p pro ASCII terminál nebo 016 pro IBM nebo ESC / P tiskárna. Podobně typické sekvence pro% $ OFF% budou 033 [0m, 033q, 024, v uvedeném pořadí. Proměnné % $ HEADER% a % $ FOOTER% jsou podporovány pouze programem COMMAND.COM v systému DR-DOS 7.02 a vyšším k definování sekvencí vydávaných před a po textových blocích za účelem ovládání zvýraznění textu, stránkování nebo jiných možností formátování.
U skořápek Unix / Linux je to vlastnost terminálu.
Zvýraznění syntaxe
Nezávislý projekt nabízí zvýraznění syntaxe jako doplněk k Z Shell (zsh).[42] Toto však není součástí shellu.
PowerShell poskytuje přizpůsobitelné zvýraznění syntaxe na příkazovém řádku prostřednictvím PSReadLine[28] modul. Tento modul lze použít s PowerShell v3.0 + a je součástí verze 5.0. Navíc je ve verzi 5.0 načten ve výchozím nastavení v hostiteli příkazového řádku „powershell.exe“. PowerShell ISE také obsahuje zvýraznění syntaxe na příkazovém řádku i v podokně skriptu.[39]Take Command Console (TCC) nabízí zvýraznění syntaxe v integrovaném prostředí.
Kontextová nápověda
4DOS, 4OS2, 4NT / Take Command Console a PowerShell (v prostředí PowerShell ISE) vyhledá kontextovou nápovědu, když F1 je stisknuto.
Zsh poskytuje různé formy konfigurovatelné kontextové nápovědy jako součást své run-help widget, _complete_help nebo při dokončení možností pro některé příkazy.
Tvůrce příkazů
Tvůrce příkazů je dialog s průvodcem, který uživateli pomáhá při vyplňování příkazu. PowerShell má nástroj pro tvorbu příkazů, který je k dispozici v prostředí PowerShell ISE nebo který lze zobrazit samostatně prostřednictvím Show-Command rutina.[43]
Programovací funkce
Shell | Funkce | Zpracování výjimek | Vyhledejte a nahraďte na proměnných substitucích | Aritmetický | Plovoucí bod | Knihovna matematických funkcí | Lineární pole nebo seznamy | Asociativní pole | Lambda funkce | eval funkce | Generování pseudonáhodných čísel | Bytecode |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Bourneova skořápka Verze 1977 | Ne | Ano (prostřednictvím past) | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne |
Bourneova skořápka současná verze | Ano od SVR2 | Ano (prostřednictvím past) | Ne | Ano[pozn. 8] | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne |
POSIX skořápka | Ano | Ano (prostřednictvím past) | Ne | Ano | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne |
bash (v4.0) | Ano | Ano (prostřednictvím past) | Ano (prostřednictvím ${//} syntaxe) | Ano | Ne | Ne | Ano | Ano | Ne | Ano | Ano ($ NÁHODNÉ) | Ne |
csh | Ne | Ne | Ano (prostřednictvím $ var: s /// syntax) | Ano | Ne | Ne | Ano | Ne | Ne | Ano | Ne | Ne |
tcsh | Ne | Ne | Ano (prostřednictvím $ var: s /// syntax) | Ano | Ne | Ne | Ano | Ne | Ne | Ano | Ne | Ne |
Hamilton C shell | Ano | Ne | Ano (prostřednictvím $ var: s /// syntax) | Ano | Ano | Ano | Ano | Ne | Ne | Ano | Ano (náhodný nástroj) | Ne |
Scsh | Ano | ? | Ano (prostřednictvím řetězcových funkcí a regulárních výrazů) | ? | ? | ? | Ano | ? | Ano | Ano | Ano (random-integer, random-real) | Ano (kompilátor je virtuální stroj Scheme48, přes scshvm) |
ksh (ksh93t +) | Ano | Ano (prostřednictvím past) | Ano (prostřednictvím ${//} syntaxe a integrované příkazy) | Ano | Ano | Ano | Ano | Ano | Ne | Ano | Ano ($ NÁHODNÉ) | Ano (volá se překladač shcomp) |
pdksh | Ano | Ano (prostřednictvím past) | Ne | Ano | Ne | Ne | Ano | Ne | Ne | Ano | Ano ($ NÁHODNÉ) | Ne |
zsh | Ano | Ano | Ano (prostřednictvím $ {: s //} a ${//} syntaxe) | Ano | Ano | Ano (zsh / mathfunc modul) | Ano | Ano | Ne | Ano | Ano ($ NÁHODNÉ) | Ano (vestavěné zkompilovat příkaz) |
popel | Ano | Ano (prostřednictvím past) | Ne | Ano (od roku 1992)[44] | Ne | Ne | Ne | Ne | Ne | Ano | Ne | Ne |
CCP | Ne | ? | Ne | Ne | ? | ? | Ne | Ne | Ne | Ne | Ne | Ne |
COMMAND.COM | Ne | Částečné (pouze automatické selhání (prostřednictvím PŘÍKAZ / F (nebo / N v některých verzích DR-DOS)) | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
OS / 2 CMD.EXE | Ne | Ne | Ne | ? | Ne | Ne | ? | Ne | Ne | Ne | Ne | Ne |
Okna CMD.EXE | Ano (prostřednictvím VOLÁNÍ: štítek) | Ne | Ano (prostřednictvím NASTAVIT%varname:výraz syntax) | Ano (prostřednictvím SET / A)[45] | Ne | Ne | Ano (prostřednictvím SOUBOR[46]) | Ne | Ne | Ne | Ano (%náhodný%) | Ne |
4DOS | Ano | Ano (prostřednictvím NA příkaz, volitelně Auto-fail přes 4DOS / F) | Ano (prostřednictvím %@Nahradit[...] funkce) | Ano (prostřednictvím SET / A) | ? | ? | Ano (přes rozsahy, zahrnout seznamy, @seznamy souborů a PRO příkaz) | Ne | Ne | Ano | Ano (%@Náhodný[...] funkce) | Ano (prostřednictvím BATCOMP příkaz) |
4OS2 | ? | ? | ? | ? | ? | ? | ? | ? | Ne | Ano | Ano (%@Náhodný[...] funkce) | ? |
TCC (dříve 4NT) | Ano | Ano (prostřednictvím NA a různé ...MONITOR příkazy) | Ano (prostřednictvím %@Nahradit[...] funkce) | Ano (prostřednictvím SET / A) | ? | ? | Ano (přes rozsahy, zahrnout seznamy, @seznamy souborů a PRO příkaz) | ? | Ne | Ano | Ano (%@Náhodný[...] funkce) | Ano (prostřednictvím BATCOMP příkaz) |
PowerShell | Ano | Ano (Try-Catch-Finally) | Ano (-nahradit operátor) | Ano | Ano | [Hodina matematiky[47] | Ano | Ano | Ano | Ano | Ano | Ano, automaticky |
rc | Ano | Ano | Ne | ? | ? | ? | Ano | ? | Ne | Ano | Ne | Ne |
BeanShell | Ano | Ano | ? | Ano | ? | ? | Ano | Ano | Ne | Ano | Ano | Ano |
VMS DCL | Ano | Ano | Ne | Ano | Ne | ano, pro kompilované programy | Ano | Ne | Ne | Ne | Ne | Ne |
Ryba | Ano | Ano (prostřednictvím past) | Ne | Ano | Ano | Ano | Ano | Ne | Ne | Ano | Ano (náhodný) | Ne |
Zpracování řetězce a shoda názvu souboru
Shell | Zpracování řetězce | Střídání (Roztažení výztuhy ) | Shoda vzoru (regulární výrazy vestavěný) | Porovnávání vzorů (název souboru globování ) | Kvalifikátory globování (generování názvu souboru na základě atributů souboru) | Rekurzivní globování (generování souborů z jakékoli úrovně podadresářů) |
---|---|---|---|---|---|---|
Bourneova skořápka Verze 1977 | ? | Ne | Ne | Ano (*, ?, [...]) | Ne | Ne |
Bourneova skořápka poslední verze | Částečné (předpona a přípona v variabilní expanzi) | Ne | Ne | Ano (*, ?, [...]) | Ne | Ne |
POSIX skořápka | Částečné (předpona a přípona v variabilní expanzi) | Ne | Ne | Ano (*, ?, [...]) | Ne | Ne |
bash (v4.0) | Částečné (předpona a přípona v variabilní expanzi) | Ano | Ano | Ano (*, ?, [...], {...}) | Ne | Ano (**/...) |
csh | Ano (: s a další operátoři úprav) | Ano | Ne | Ano | Ne | Ne |
tcsh | Ano (: s a další operátoři úprav) | Ano | Ano | Ano | Ne | Ne |
Hamilton C shell | Ano (: sa další operátory úprav + substr, strlen, strindex, printf, reverse, upper, lower, concat a další vestavěné funkce) | Ano | Ne | Ano | Ne | Ano (prostřednictvím neurčitého adresáře "..." divoká karta[48]) |
Scsh | ? | ? | Ano | Ano | Ne | Ne |
ksh (ksh93t +) | Částečné (předpona, odizolování přípony a nahrazení řetězce při variabilní expanzi) | Ano[49] | Ano | Ano (*, ?, [...]) | Ne | Ano (s.) sada -G, žádné sledování symbolických odkazů) |
pdksh | ? | Ano[49] | Ne | Ano | Ne | Ne |
zsh | Ano (prostřednictvím variabilního zpracování: např. Extrakce podřetězce, různé transformace prostřednictvím rozšíření parametrů) | Ano | Ano | Ano (*, ?, [...], rozšířené globování[50]) | Ano | Ano (**/... nebo ***/... sledovat symbolické odkazy) |
popel | ? | ? | Ne | Ano | Ne | Ne |
CCP | Ne | Ne | Ne | Ne | Ne | Ne |
COMMAND.COM | Ne | Ne | Ne | Ano (*, ?) | Ne | Ne |
OS / 2 CMD.EXE | Ne | Ne | Ne | Ano (*, ?) | Částečné (pouze v DIR / A: ... příkaz) | Ne |
Okna CMD.EXE | Částečné (pouze prostřednictvím PRO / F a SET / A) | Ne | Ne[pozn. 17] | Ano (*, ?) | Částečné (pouze v DIR / A: ... příkaz) | Ano (prostřednictvím PRO / R příkaz, nebo, je-li k dispozici, nepřímo prostřednictvím / S možnost podadresáře) |
4DOS | Ano (prostřednictvím proměnných funkcí %@...[], rozšířené zpracování proměnných prostředí, různé příkazy řetězce a PRO / F a SET / A) | Ne | Ne | Ano (*, ?, [...], rozšířené zástupné znaky, VYBRAT popup příkaz) | Ano (prostřednictvím /A:... atribut a / Já „...“ možnosti popisu a / [S ...] velikost, / [T ...] čas, / [D ...] datum a /[!...] rozsahy vyloučení souborů) | Ano (prostřednictvím PRO / R velení nebo nepřímo prostřednictvím GLOBÁLNÍ příkaz, nebo, je-li k dispozici, / S možnost podadresáře) |
4OS2 | ? | Ne | Ne | ? | ? | ? |
TCC (dříve 4NT) | Ano (prostřednictvím proměnných funkcí %@...[], rozšířené zpracování proměnných prostředí, různé příkazy řetězce a PRO / F a SET / A) | Ne | Ano | Ano (*, ?, [...], rozšířené zástupné znaky, VYBRAT popup příkaz) | Ano (prostřednictvím /A:... atribut a / Já „...“ možnosti popisu a / [S ...] velikost, / [T ...] čas, / [D ...] datum, /[Ó...] majitel a /[!...] rozsahy vyloučení souborů) | Ano (prostřednictvím PRO / R velení nebo nepřímo prostřednictvím GLOBÁLNÍ příkaz, nebo, je-li k dispozici, / S možnost podadresáře) |
PowerShell | Ano (Concat / Substring / Insert / Remove / Replace, ToLower / ToUpper, Trim / TrimStart / TrimEnd, Porovnat, Obsahuje / StartsWith / EndWith, Format, IndexOf / LastIndexOf, Pad / PadLeft / PadRight, Split / Join, funkce regulárního výrazu a další funkce řetězců .NET) | Ne | Ano (plná podpora regulárního výrazu)[pozn. 18] | Ano (*, ?, [...]) | ? | ? |
rc | ? | ? | Ne | Ano | Ne | Ne |
BeanShell | ? | ? | Ano | ? | ? | ? |
VMS DCL | Ano | Ne | Ne | Ano | Ne | Ano (prostřednictvím [PŘEDMĚT ...]) |
Ryba | Ano (vestavěná funkce řetězce) | Ano | ano (přes vestavěné shoda řetězce a nahradit řetězec funkce) | Ano (*, ?, {...}) | Ne | Ano (**/...) |
Meziprocesová komunikace
Shell | Trubky | Substituce příkazu | Substituce procesu | Dílčí skořápky | TCP /UDP připojení jako streamy | Stohování klávesových zkratek |
---|---|---|---|---|---|---|
Bourneova skořápka | bajtů souběžně | Ano | Ne | Ano | Ne | N / A[pozn. 19] |
POSIX skořápka | bajtů souběžně | Ano | Ne | Ano | Ne | N / A[pozn. 19] |
bash (v4.0) | bajtů souběžně | Ano | Ano (pokud systém podporuje / dev / fd /⟨N⟩ nebo pojmenované trubky) | Ano | Ano (pouze klient) | N / A[pozn. 19] |
csh | bajtů souběžně | Ano | Ne | Ano | Ne | N / A[pozn. 19] |
tcsh | bajtů souběžně | Ano | Ne | Ano | Ne | N / A[pozn. 19] |
Hamilton C shell | bajtů souběžně | Ano | Ne | Ano | Ne | ? |
Scsh | text | ? | ? | ? | Ano | N / A[pozn. 19] |
ksh (ksh93t +) | bajtů (může obsahovat serializované objekty, pokud tisk -C je používán) souběžně | Ano ($(...) a $ { | Ano (pokud systém podporuje / dev / fd /⟨N⟩) | Ano | Ano (a podpora SCTP, pouze klient) | N / A[pozn. 19] |
pdksh | bajtů souběžně | Ano | Ne | Ano | Ne | N / A[pozn. 19] |
zsh | bajtů souběžně | Ano | Ano | Ano | Ano (klient a server, ale pouze TCP) | N / A[pozn. 19] |
popel | bajtů souběžně | Ano | Ne | Ano | Ne | N / A[pozn. 19] |
CCP | Ne | Ne | Ne | Ne | Ne | Ne |
COMMAND.COM | textové dočasné soubory | Ne | Ne | Částečné (pouze pod multitaskerem DR-DOS přes COMMAND.COM / T) | Ne | Ne |
OS / 2 CMD.EXE | souběžný text | Ne | Ne | ? | Ne | Ne |
Okna CMD.EXE | souběžný text | Ano (prostřednictvím PRO / F příkaz) | Ne | Ano (Backtick: ` v FOR / F usebackq) | Ne | Ne |
4DOS | textové dočasné soubory | Ano (prostřednictvím PRO / F příkaz) | ? | Částečné (prostřednictvím % @ EXECSTR [] a % @ EXEC []nebo prostřednictvím SET / M, ESET / M a UNSET / M a %@MISTR[...]) | Ne | Ano (prostřednictvím KEYSTACK a KSTACK)[51] |
4OS2 | souběžný text | ? | ? | ? | Ne | Ano (prostřednictvím KEYSTACK) |
TCC (dříve 4NT) | souběžný text | Ano (prostřednictvím PRO / F příkaz) | ? | Částečné (prostřednictvím % @ EXECSTR [] a % @ EXEC []) | Ano (prostřednictvím FTP, TFTP, FTPS, SFTP, HTTP, HTTPS a IFTP, pouze klient) | Ano (prostřednictvím KEYSTACK) |
PowerShell | objekty souběžně | Ano | Ne | Ano | Ano | ? |
rc | souběžný text | Ano | Ano (prostřednictvím: <{cmd} pokud systém podporuje / dev / fd /⟨N⟩) | Ano | Ne | ? |
BeanShell | není podporováno | ? | ? | ? | Ano | ? |
VMS DCL | text (přes TRUBKA příkaz) | Ano | Ne | Ano (založit) | Ano (pouze server TCP) | Ne |
Ryba | bajtů souběžně | Ano (...) | Ne (rozbité)[52] | Ne | Ne | N / A[pozn. 19] |
Stohování klávesových zkratek
V očekávání toho, co může daná spuštěná aplikace přijmout jako vstup z klávesnice, uživatel shellu instruuje shell, aby vygeneroval sekvenci simulované stisky kláves, které aplikace interpretuje jako vstup klávesnice od interaktivního uživatele. Odesláním sekvencí stisknutí kláves může být uživatel schopen nasměrovat aplikaci k provádění akcí, které by nebylo možné dosáhnout přesměrováním vstupu nebo by jinak vyžadovaly interaktivního uživatele. Například pokud aplikace funguje na stisknutí kláves, které nelze přesměrovat, rozlišuje mezi normálními a rozšířenými klávesami, vyprázdní frontu před přijetím nového vstupu při spuštění nebo za určitých podmínek, nebo proto, že vůbec nečte standardní vstup. Ukládání stisků kláves obvykle také poskytuje prostředky pro řízení načasování odesílání simulovaných klíčů nebo pro zpoždění nových klíčů, dokud nebyla fronta vyprázdněna atd. Umožňuje také simulovat klíče, které na klávesnici nejsou (protože příslušné klávesy fyzicky neexistují nebo protože se používá jiné rozložení klávesnice), a proto by jej uživatel nemohl psát.
Bezpečnostní funkce
![]() | Tato sekce obsahuje informace nejasné nebo sporné důležitost nebo relevantnost k předmětu článku.Červenec 2014) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Shell | Výzva k zabezpečení (heslo) | Šifrované proměnné / parametry | Hesla souborů / adresářů | Provést povolení | Nedůvěryhodné blokování skriptů | Omezená podmnožina prostředí | Podskupina bezpečných dat |
---|---|---|---|---|---|---|---|
Bourneova skořápka | přes stty[pozn. 20] | Ne | ? | N / A[pozn. 21] | Ne | Ano | Ne |
POSIX skořápka | přes stty[pozn. 20] | Ne | ? | N / A[pozn. 21] | Ne | Ne | Ne |
bash (v4.0) | čtení | Ne | ? | N / A[pozn. 21] | Ne | Ano | Ne |
csh | přes stty[pozn. 20] | Ne | ? | N / A[pozn. 21] | Ne | Ano | Ne |
tcsh | přes stty[pozn. 20] | Ne | ? | N / A[pozn. 21] | Ne | Ano | Ne |
Hamilton C shell | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Scsh | přes stty[pozn. 20] | Ne | ? | N / A[pozn. 21] | Ne | Ne | Ne |
ksh (ksh93t +) | přes stty[pozn. 20] | Ne | ? | N / A[pozn. 21] | Ne | Ano | Ne |
pdksh | přes stty[pozn. 20] | Ne | ? | N / A[pozn. 21] | Ne | Ano | Ne |
zsh | čtení | Ne | ? | N / A[pozn. 21] | Ne | Ano | Ne |
popel | přes stty[pozn. 20] | Ne | ? | N / A[pozn. 21] | Ne | Ano | Ne |
CCP | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
COMMAND.COM | Částečné (pouze v systému DR-DOS, výzva k zadání hesla, pokud je soubor / adresář chráněn) | Ne | Částečné (pouze v systému DR-DOS prostřednictvím dirname; dirpwd název souboru; filepwd syntax)[pozn. 22] | Částečné (pouze v systému DR-DOS, pokud jsou soubory chráněny heslem pro oprávnění ke čtení nebo spuštění)[pozn. 23] | Ne | Ne | Ne |
OS / 2 CMD.EXE | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
Okna CMD.EXE | Ne | Ne | Ne | Ne | Ne | Ne | Ne |
4DOS | Ano (prostřednictvím VSTUP / P nebo INKEY / P)[pozn. 24] | Ne | Částečné (pouze v systému DR-DOS prostřednictvím dirname ;; dirpwd název souboru ;; filepwd syntax)[pozn. 22] | Částečné (pouze v systému DR-DOS, pokud jsou soubory chráněny heslem pro oprávnění ke čtení nebo spuštění)[pozn. 23] | Ne | Ne | Ne |
4OS2 | ? | Ne | Ne | Ne | Ne | Ne | Ne |
TCC (dříve 4NT) | Ano (prostřednictvím VSTUP / P, INKEY / P nebo QUERYBOX / P)[pozn. 24] | Ne | Ne | Ne | Ne | Ne | Ne |
PowerShell | Ano[pozn. 25] | Ano | Ne | Ne[pozn. 26] | Ano[53] | Ano[pozn. 27] | Ano[54] |
rc | přes stty[pozn. 20] | Ne | ? | N / A[pozn. 21] | Ne | Ano[55] | Ne |
BeanShell | ? | ? | ? | ? | ? | ? | ? |
VMS DCL | Ano | Ne | Ne | Ano | Ne | Ano | Ne |
Ryba | čtení | Ne | ? | N / A[pozn. 21] | Ne | Ano (prostřednictvím ryba -l) | ? |
Bezpečná výzva
Některé skripty prostředí potřebují dotazovat uživatele na citlivé informace, například hesla, soukromé digitální klíče, PIN kódy nebo jiné důvěrné informace. Citlivý vstup by se neměl odrážet zpět na obrazovku / vstupní zařízení, kde by jej mohl shromažďovat neoprávněná osoba. Rovněž je třeba se vyhnout reprezentaci citlivých informací v paměti prostého textu, protože by to mohlo umožnit jejich ohrožení, např. Prostřednictvím odkládacích souborů, výpisů jádra atd.[56]
Mušle bash, zsh a PowerShell to nabízejí jako specifickou funkci.[57][58] Mušle, které to nenabízejí jako specifickou funkci, mohou být i nadále schopny vypnout ozvěnu jinými způsoby. Mušle spuštěné v operačním systému Unix / Linux mohou používat stty externí příkaz pro vypnutí / zapnutí ozvěny vstupních znaků.[59] Kromě toho, že neodráží zpět znaky, PowerShell -AsSecureString Tato možnost také šifruje vstupní znak po znaku během procesu zadávání a zajišťuje, že řetězec není nikdy zastoupen nezašifrovaný v paměti, kde by mohl být ohrožen prostřednictvím výpisů paměti, skenování, přepisu atd.
Šifrované proměnné / parametry
Pokud skript načte heslo do proměnné prostředí, je v paměti jako prostý text, a proto k němu lze přistupovat prostřednictvím výpisu jádra. Je také v prostředí procesu, které může být přístupné dalším procesům spuštěným skriptem.[60]
PowerShell může pracovat s šifrovanými řetězcovými proměnnými / parametry.[61] Šifrované proměnné zajišťují, že hodnoty nejsou neúmyslně zveřejněny např. přepisy, echo'ing, logfiles, paměti nebo havarijní skládky nebo dokonce škodlivé skenování paměti. PowerShell také podporuje ukládání takto šifrovaných řetězců do textových souborů chráněných klíčem vlastněným aktuálním uživatelem.
Provést povolení
Některé operační systémy definují vykonat oprávnění, které lze udělit uživatelům / skupinám pro soubor.
V systémech Unix řídí oprávnění ke spuštění přístup k vyvolání souboru jako programu a vztahuje se na spustitelné soubory i skripty. zavaděč programu, při vynucování oprávnění ke spuštění není od vyvolávajícího programu ani od vyvolaného programu vyžadována žádná povinnost - to platí i pro mušle a další tlumočnické programy. Chování je nařízeno Knihovna POSIX C. který se používá pro propojení s jádrem. POSIX určuje, že vykon
rodina funkcí selže s EACCESS (oprávnění odepřeno), pokud soubor popírá oprávnění k provedení (viz - Reference systémových rozhraní, Specifikace Single UNIX, Vydání 7 od Otevřená skupina ).
The vykonat oprávnění platí pouze v případě, že je skript spuštěn přímo. Pokud je skript vyvolán jako argument pro interpretační prostředí, bude spuštěn bez ohledu na to, zda uživatel drží vykonat povolení pro tento skript.
Ačkoli Windows také určuje vykonat oprávnění, žádná ze skořápek specifických pro Windows neblokuje provádění skriptu, pokud nebylo uděleno oprávnění.
Nedůvěryhodné blokování skriptů
Některé skořápky budou blokovat skripty, které jsou považovány za nedůvěryhodné, nebo odmítnou spouštět skripty, pokud to nařídí správce systému.
Omezení provádění skriptu
PowerShell lze nastavit tak, aby blokoval provádění skriptů, které byly označeny jako získané z neznámého / nedůvěryhodného původu (např. Z Internetu).[62] Aplikace orientované na internet, jako jsou webové prohlížeče, klienti rychlých zpráv, čtečky pošty atd., Označují soubory stažené z internetu zónou původu v alternativním datovém proudu, kterému rozumí PowerShell.
Podepsané omezení skriptu
Zásady podepisování skriptů / kódů lze použít k zajištění toho, aby provozní oddělení spouštělo pouze schválené skripty / kód, které byly zkontrolovány a podepsány důvěryhodným recenzentem / schvalovatelem. Režimy podepisování také chrání před neoprávněnou manipulací. Pokud je skript odeslán od dodavatele klientovi, může klient pomocí podepisování zajistit, aby skript nebyl během přepravy manipulován a aby skript skutečně pocházel od dodavatele a nikoli od útočníka, který se snaží sociálního inženýra operátorovi spustit útočný skript.
PowerShell lze nastavit tak, aby umožňoval provádění jinak blokovaných skriptů (např. Pocházejících z nedůvěryhodné zóny), pokud byl skript digitálně podepsán pomocí důvěryhodného digitálního certifikátu.[63][64][65]
Víceúrovňové zásady provádění
Společnost může chtít vynutit omezení provádění globálně v rámci společnosti a / nebo určitých částí společnosti. Možná bude chtít nastavit zásadu pro spouštění podepsaných skriptů, ale určitým částem společnosti povolit nastavit vlastní zásady pro pásmová omezení.
PowerShell umožňuje prosazování zásad blokování skriptů na několika úrovních: místní počítač, aktuální uživatel atd. Zásada vyšší úrovně přepíše zásadu nižší úrovně, např. pokud je pro místní počítač definována zásada, je platná pro všechny uživatele místního počítače, pouze pokud je ponechána nedefinováno na vyšší úrovni lze definovat pro nižší úrovně.
Omezená podmnožina prostředí
Lze spustit nebo nakonfigurovat několik skořepin v režimu, kde je uživateli k dispozici pouze omezená sada příkazů a akcí. I když to není bezpečnost hranice (příkaz, který přistupuje k prostředku, je blokován, spíše než k prostředku), přesto se obvykle používá k omezení akcí uživatelů před přihlášením.
Omezený režim je součástí POSIX Specifikace skořápek a většina skořápek Linux / Unix podporuje takový režim, kdy je několik vestavěných příkazů zakázáno a lze vyvolat pouze externí příkazy z určitého adresáře.[66][67]
Prostředí PowerShell podporuje omezené režimy konfigurační soubory relace nebo konfigurace relace. Konfigurační soubor relace může definovat viditelné (dostupné) rutiny, aliasy, funkce, poskytovatele cest a další.[68]
Podskupina bezpečných dat
Skripty, které vyvolávají jiné skripty, mohou představovat bezpečnostní riziko, protože mohou potenciálně spouštět cizí kód v kontextu uživatele, který spustil počáteční skript. Skripty budou obvykle navrženy tak, aby obsahovaly výlučně skripty ze známých bezpečných míst; ale v některých případech, např. když uživateli nabízíte způsob konfigurace prostředí nebo načítání lokalizovaných zpráv, bude možná nutné, aby skript obsahoval další skripty / soubory.[69] Jedním ze způsobů, jak toto riziko vyřešit, je, aby shell nabídl bezpečnou podmnožinu příkazů, které lze provést pomocí přiloženého skriptu.
PowerShell datové sekce může obsahovat konstanty a výrazy pomocí omezené podmnožiny operátorů a příkazů.[70] Datové sekce PowerShellu se používají, když např. lokalizované řetězce je třeba číst z externího zdroje a zároveň chránit před nežádoucími vedlejšími účinky.
Poznámky
- ^ Od poloviny 90. let.
- ^ pokud je kompilován s -DACCT.
- ^ Komponenta MS-DOS a Windows - krytá platnou licencí pro MS-DOS nebo Microsoft Windows.
- ^ Komponenta OS / 2 - krytá platnou licencí pro OS / 2.
- ^ Povolena rozšíření příkazů nebo „CMD / X“.
- ^ Součást Windows - krytá platnou licencí pro Microsoft Windows.
- ^ Windows PowerShell je nainstalován se systémem Windows 7, jedná se však o volitelné stažení pro uživatele systému Windows Vista nebo Windows XP.
- ^ A b C aktuální verze od Jörga Schillinga.
- ^ Alt-Shift-8 nebo Alt- * se rozbalí na úplný seznam shodných názvů souborů.
- ^ K dispozici prostřednictvím DOSKEY doplněk.
- ^ K dispozici v DR-DOS až DĚJINY.
- ^ Alternativně k dispozici prostřednictvím DOSKEY doplněk také.
- ^ Alternativně k dispozici v DR-DOS až DĚJINY také.
- ^ TCC má speciální funkce výzvy pro Ano, Ne, Storno, Zavřít, Opakovat.
- ^ A b C Zpracováno rio, GNU readline, editační řádek nebo vrl.
- ^ Rybí skořápka je interaktivní znakově orientovaný vstupní / výstupní povrch.
- ^ Není k dispozici jako vestavěný shell. Externí FINDSTR / R příkaz je k dispozici ve většině verzí Windows.
- ^ PowerShell plně využívá .SÍŤ modul regulárních výrazů, který obsahuje pojmenované zachycení, vyhledávání / nulování šířky, chamtivost / nenásytnost, třídy znaků, počítání úrovní atd.
- ^ A b C d E F G h i j k xautomation a xdotool lze použít ke generování stisků kláves pod Systém X Window; nebo program lze spustit v pseudoterminální být schopen jej ovládat (jako u očekávat nářadí).
- ^ A b C d E F G h i Shell může používat stty nástroj pro potlačení ozvěny zadaných znaků na obrazovku. To vyžaduje několik kroků: 1. čtení aktuálního stavu ozvěny, 2. vypnutí echa, 3. čtení vstupu, 4. přepnutí stavu ozvěny zpět do původního stavu.
- ^ A b C d E F G h i j k l The vykonat povolení je vynucován samostatným programem, zavaděčem programu, tím, že odmítá vyvolat tlumočníka (případně shell) určeného skriptem hashbang. Tlumočník nevynucuje oprávnění ke spuštění, pokud je vyvolán přímo jako zavaděč programu, se souborem jako argumentem; to vyžaduje pouze oprávnění ke čtení, stejně jako pipování souboru jako vstupu do tlumočníka, v takovém případě tlumočník nevidí oprávnění ke spuštění.
- ^ A b V systému DR-DOS je oddělovač hesel pro hesla souborů a adresářů středník. Toto je také podporováno v systému 4DOS, pokud příkaz nepodporuje seznamy zahrnutí. V systému 4DOS musí být oddělovač hesel zdvojnásoben pro všechny příkazy podporující seznamy zahrnutí, aby bylo možné odlišit hesla od seznamů zahrnutí. Příkazy nepodporující seznamy zahrnutí přijímají obě formy. DR-DOS 7.02 a vyšší volitelně také přijímají zdvojený středník, takže zdvojené středníky fungují pod COMMAND.COM i 4DOS bez ohledu na provedený příkaz.
- ^ A b DR-DOS podporuje hesla k souborům pro čtení / zápis / mazání a volitelně provádění oprávnění. Soubory nejsou ve výchozím nastavení chráněny, ale systém lze nastavit tak, aby např. dávkové skripty vyžadují ke čtení heslo.
- ^ A b VSTUP / P a INKEY / P odráží zpět hvězdičky pro každý zadaný znak.
- ^ Read-Host -AsSecureString čte řetězec znaků ze vstupního zařízení do šifrovaného řetězce, jeden znak po druhém, čímž zajišťuje, že nebude existovat paměťový obraz čistého textu, který by mohl být získán ze skenování paměti nebo z výpisů chyb, výpisů paměti, stránkovacích souborů, soubory protokolu nebo podobné.
- ^ Soubory skriptu PowerShell (.ps1 soubory) jsou ve výchozím nastavení přidruženy k editoru poznámkového bloku, nikoli k výkonnému stroji PowerShell. Vyvolání a .ps1 soubor spustí Poznámkový blok namísto spuštění skriptu.
- ^ Startovací skripty na počítač / uživatele mohou importovat moduly a vystavovat podmnožinu příkazů / funkcí dostupných v modulech.
Reference
- ^ A verze nezávislá na platformě na základě historického původního zdrojového kódu UNIX V7 je k dispozici od Geoff Collyer
- ^ Historická verze systému UNIX V7 je k dispozici pod licence ve stylu BSD prostřednictvím Unix Heritage Society a dalších.
- ^ A verze nezávislá na platformě na základě zdrojového kódu SVr4 / Solaris je k dispozici od Jörga Schillinga
- ^ Ferrell, John, "Kapitola 2. Výchozí prostředí", Průvodce rychlým startem FreeBSD pro uživatele systému Linux „Dokumentační projekt FreeBSD, vyvoláno 2015-07-24
- ^ „SchilliX-ON / SchilliX-ON Mercurial / [b1d9a2] / usr / src / cmd / sh". Sourceforge.net. Citováno 2015-07-02.
- ^ IEEE a The Open Group (2008). IEEE 1003.1 Standard for Information Technology - Portable Operating System Interface (POSIX): Shell and Utilities, Issue 7.
- ^ Jako součást IEEE Std.1003.2-1992 (POSIX.2); integrován do IEEE Std.1003.1 s revizí z roku 2001.
- ^ Fox, Brian (06.06.1989). Tower Jr., Leonard H. (ed.). „Bash je ve verzi beta!“. Diskusní skupina: gnu. oznamte. Usenet: [email protected]. Citováno 2010-10-28.
- ^ Cooper, Mendel, "Kapitola 37.3.2. Bash, verze 4.2", Průvodce pro pokročilé skriptování Bash „Dokumentační projekt Linuxu, vyvoláno 2015-04-30, "Bash nyní podporuje únik Unicode u a U."
- ^ Greer, Ken (03.10.1983). "C shell s rozpoznáním / dokončením příkazu a názvu souboru". Diskusní skupina: čisté zdroje. Citováno 2010-12-29.
- ^ Sussman, Ann (26.12.1988). „Hamilton C Shell urychluje vývoj aplikací OS / 2“ (PDF). PC Week (1988-12-26 - 1989-01-02): 37. Citováno 2010-11-22.
- ^ Gomes, Ron (06.06.1983). „Plán konference USENIX v Torontu (předběžně)“. Diskusní skupina: net.usenix. Citováno 2010-12-29.
- ^ Harris, Guy (10.10.1983). "otázka csh". Diskusní skupina: čistý. plamen. Citováno 2010-12-29.
- ^ ksh93 (1) manuálová stránka
- ^ A b Výchozí shell v OpenBSD je ksh (pdksh).
- ^ Editor příkazového řádku zsh je plně konfigurovatelný a umožňuje podporu myši různými způsoby, například pomocí Stéphane Chazelas mouse.zsh.
- ^ manuálová stránka a podstránky zsh (1)
- ^ manuálová stránka zshbuiltins (1)
- ^ "# 782228 - busybox sh nepodporuje vícebajtové znaky při zpracování řetězce - protokoly hlášení chyb Debianu". Bugs.debian.org. 09.04.2015. Citováno 2015-07-02.
- ^ „Slovník HP OpenVMS DCL“. Archivovány od originál dne 25.03.2007. Citováno 2009-03-23.
- ^ Liljencrantz, Axel (2005-05-17). „Ryba - přátelská interaktivní schránka“. Citováno 2013-04-08.
- ^ Soller, Jeremy (2015-11-15). „d79c8f511573fb7710abc63b4236a40022914520“. Citováno 2019-08-03.
- ^ „Systém dokončování [Z Shell]“. Zsh.sourceforge.net. Citováno 2015-02-24.
- ^ např. prostřednictvím 3. strany, jako je zsh-autosugesce
- ^ zsh nemá zvýraznění syntaxe, ale existuje projekt třetí strany, který tuto možnost nabízí jako doplněk: zvýraznění syntaxe zsh
- ^ Paul, Matthias R. (02.10.1997) [1997-09-29]. „Aktualizace Caldera OpenDOS 7.01 / 7.02 Alpha 3 IBMBIO.COM - README.TXT a BOOT.TXT - krátký popis spuštění systému OpenDOS“. Archivovány od originál dne 10. 10. 2003. Citováno 2009-03-29. [1]
- ^ A b C d E „Windows PowerShell Integrated Scripting Environment (ISE)“. Microsoft Technet. Citováno 2015-09-12.
- ^ A b C d Shirk, Jason (2018-02-15). „PSReadLine: Implementace readline inspirované bash pro PowerShell“ - přes GitHub.
- ^ „Archivovaná kopie“. Archivovány od originál dne 17. září 2016. Citováno 8. září 2016.CS1 maint: archivovaná kopie jako titul (odkaz)
- ^ Push-umístění (s aliasem
pushd
) a Pop-Location (s aliasempopd
) umožňuje více typů umístění (adresáře souborových systémů, organizační jednotky systému Windows) Aktivní adresář, uzly Registr Windows atd.), které mají být zasunuty do a vysunuty ze zásobníků umístění. - ^ The $ host.ui.PromptForChoice Funkce umožňuje výzvu ve stylu nabídky pro výběr. Výzva funguje z úloh na pozadí i ze vzdálených relací a zobrazuje výzvu nabídky na konzole řídicí relace.
- ^ The Průběh zápisu rutina zapisuje indikátor průběhu, který může indikovat procento, zbývající sekundy atd. Zprávy indikátoru průběhu fungují kromě interaktivních skriptů také z úloh na pozadí nebo ze vzdálených relací, tj. indikátor průběhu se zobrazuje na konzole řídicí relace, nikoli jako součást pravidelný výstup.
- ^ The Show-Command rutina zkontroluje definici příkazu a otevře interaktivní okna s pojmenovaným vstupním polem pro každý parametr / přepínač
- ^ A b "ryba: dokumentace". Sekce Dokončení karty. Citováno 2016-01-10.
- ^ "zsh: 20. Dokončovací systém". Zsh.sourceforge.net. 06.03.2013. Citováno 2013-08-18.
- ^ „Použijte PowerShell k vytvoření povinných parametrů“. Blogs.technet.com. Citováno 2015-02-24.
- ^ Souběžný DOS 386 - operační systém pro více uživatelů / více úkolů - uživatelská příručka (PDF). Digitální výzkum.
- ^ „Výměna příkazového řádku systému Windows č. 1 - příkazy příkazového řádku systému Windows CMD“. Software JP. Citováno 2013-08-18.
- ^ A b „Windows PowerShell 3.0 Integrated Scripting Environment (ISE)“. Technet.microsoft.com. Citováno 2013-08-18.
- ^ „Změny a vylepšení skriptovacího modelu PowerShell v3 ISE a ISE“. Časopis PowerShell. 2011-09-28. Citováno 2013-08-18.
- ^ "pv (1): monitoruje průběh dat potrubím - manuálová stránka Linuxu". Linux.die.net. Citováno 2015-02-24.
- ^ "zsh-users / zsh-syntax-highlighting: Fish shell like syntax highlighting for Zsh". GitHub. Citováno 2013-08-18.
- ^ "Show-Command". Technet.microsoft.com. Citováno 2013-08-18.
- ^ "Varianty popela". Archivovány od originál dne 10.03.2010. Citováno 2014-12-15.
- ^ „Set - Environment Variable - Windows CMD“. SS64.com. Citováno 2015-02-24.
- ^ "Jak procházet pole v dávce?". Přetečení zásobníku. Citováno 2015-02-24.
- ^ Síť System.Math třída definuje matematické funkce, které lze použít prostřednictvím zástupce [Matematika], např. [Matematika] :: Hřích pro sinus funkce.[2]
- ^ Hamilton C shell Referenční jazyk: Zástupné znaky a porovnávání vzorů, Hamilton Laboratories, vyvoláno 2013-10-29,
... Neurčitý adresář: Porovnejte libovolný počet úrovní adresáře - nula nebo více - bez ohledu na to, aby se zbytek vzoru shodoval.
- ^ A b Seebach, Peter (2008). Začátek skriptování v přenosném prostředí: Od nováčka po profesionála. Hlas odborníka v otevřeném zdroji. Apress. p. 149. ISBN 9781430210436. Citováno 2014-09-17.
Rozšíření složené závorky je k dispozici v ksh93, pdksh, bash a zsh.
- ^ Zsh nabízí řadu možnosti globování.
- ^ Brothers, Hardin; Rawson, Tom; Conn, Rex C.; Paul, Matthias R .; Dye, Charles E .; Georgiev, Luchezar I. (2002-02-27). Online nápověda 4DOS 8.00.
- ^ "najít způsob, jak zajistit` psub --fifo` v bezpečí před uváznutím · problém # 1040 · fish-shell / fish-shell “. GitHub.
- ^ „O zásadách provádění“. Technet.microsoft.com. Citováno 2015-02-24.
- ^ „O datových sekcích“. Technet.microsoft.com. Citováno 2015-02-24.
- ^ "Manpage Ubuntu: rc - shell". Manpages.ubuntu.com. 17. 7. 2003. Citováno 2015-02-24.
- ^ Provos, Niels. „Šifrování virtuální paměti“. Centrum pro integraci informačních technologií, University of Michigan. Citováno 2012-12-20.
- ^ "bash - GNU Bourne-Again SHell".
tichý režim čtení. Pokud vstup přichází z terminálu, znaky se nebudou odrážet.
- ^ „Používání rutiny Read-Host“.
Přidáním parametru -assecurestring můžete maskovat data zadaná na výzvu
- ^ "Linux / Unix Command: stty". Linux.about.com. Citováno 2015-02-24.
- ^ Albing, Carl; Vossen, J. P .; Newham, Cameron (2007). „3.8. Výzva k zadání hesla“. Bash kuchařka (1. vyd.). Sebastopol, Kalifornie: O'Reilly Media. p.65. ISBN 978-0-596-52678-8.
Uvědomte si, že pokud načtete heslo do proměnné prostředí, je v paměti jako prostý text, a proto k němu lze přistupovat prostřednictvím výpisu jádra nebo / proc / core. Nachází se také v procesním prostředí, které může být přístupné dalším procesům.
- ^ Holmes, Lee. „SecureStrings in PowerShell“. Citováno 2012-12-18.
- ^ "Zabezpečení PowerShell :: Zabezpečení Windows OS :: Články a návody". WindowSecurity.com. Citováno 2013-08-18.
- ^ „Podepisování skriptů PowerShell“. Hanselman.com. Citováno 2015-12-24.
- ^ „Hele, Scripting Guy! How can I Sign Windows PowerShell Scripts with an Enterprise Windows PKI? (Part 2 of 2) - Hey, Scripting Guy! Blog - Home - TechNet Blogs“. Blogs.technet.com. Citováno 2013-08-18.
- ^ „Spouštění skriptů Windows PowerShell“. Technet.microsoft.com. Citováno 2013-08-18.
- ^ "man sh - shell, standardní tlumočník / posix příkazového jazyka" (francouzsky). Pwet.fr. Archivovány od originál dne 2014-12-21. Citováno 2013-08-18.
- ^ „Bash Reference Manual: The Restricted Shell“. Gnu.org. 2010-12-28. Citováno 2013-08-18.
- ^ „New-PSSessionConfigurationFile“. Technet.microsoft.com. Citováno 2013-08-18.
- ^ Albing, Carl; Vossen, J. P .; Newham, Cameron (2007). Bash kuchařka (1. vyd.). Sebastopol, Kalifornie, USA: O'Reilly Media. ISBN 978-0-596-52678-8.
[...] je stěží to, co si člověk myslí jako pasivní seznam konfigurovaných proměnných. Může spouštět další příkazy (např. Kočka) a používat příkazy if ke změně svých možností. Dokončí to dokonce ozvěnou zprávy. Buďte opatrní, když něco zadáváte, protože je to do vašeho scénáře dokořán.
- ^ „O datových sekcích“. Microsoft. Citováno 2012-12-18.