Alias (příkaz) - Alias (command)
tento článek potřebuje další citace pro ověření.červenec 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Příklad alias příkaz | |
Původní autoři | Bill Joy |
---|---|
Vývojáři | Rozličný open-source a komerční vývojáři |
Operační systém | Unix, Unixový, AmigaDOS, Microsoft Windows, ReactOS, AROS, KolibriOS, IBM i |
Plošina | Cross-platform |
Typ | Příkaz |
v výpočetní, alias je příkaz v různých tlumočníci příkazového řádku (mušle ), který umožňuje nahrazení slova jiným řetězcem.[1] Používá se hlavně ke zkrácení systémového příkazu nebo k přidání výchozích argumentů k pravidelně používanému příkazu. alias
je k dispozici v Unix skořápky, AmigaDOS, 4DOS /4NT, KolibriOS, Windows PowerShell, ReactOS a EFI shell.[2] Aliasing funkce v MS-DOS a Microsoft Windows operační systémy poskytuje DOSKey nástroj příkazového řádku.
Alias bude trvat po celou dobu relace prostředí. Pravidelně používané aliasy lze nastavit z prostředí shellu rc soubor (jako .bashrc
), aby byly k dispozici na začátku příslušné relace prostředí. Aliasové příkazy mohou být zapsány přímo do konfiguračního souboru nebo získaný ze samostatného souboru.
Dějiny
V Unixu byly aliasy zavedeny v C shell a přežít v potomcích granátů, jako je tcsh a bash. Alias C shellu byl přísně omezen na jeden řádek. To bylo užitečné pro vytváření jednoduchých příkazů zástupců, ale ne složitějších konstrukcí. Starší verze Bourneova skořápka nenabízel aliasy, ale poskytoval funkce, které jsou výkonnější než koncept alias csh. Koncept aliasu z csh byl importován do Bourne Again Shell (bash) a Korn skořápka (ksh). U skořápek, které podporují jak funkce, tak aliasy, ale žádné parametrizované vložené skripty prostředí, se doporučuje použití funkcí, kdykoli je to možné. Mezi případy, kdy jsou aliasy nutné, patří situace, kdy jsou vyžadovány zřetězené aliasy (bash a ksh) alias příkaz byl také přenesen do IBM i operační systém.[3]
Používání
Vytváření aliasů
Unix
Nepřetrvávající aliasy lze vytvořit zadáním dvojic název / hodnota jako argumentů pro příkaz alias. v Unix skořápky syntaxe je:
alias gc='git commit'
C shell
Odpovídající syntaxe v souboru C shell nebo tcsh shell je:
alias gc "git commit"
Tento alias znamená, že když je příkaz gc
čte v shellu, bude nahrazen sakra spáchat
a místo toho bude proveden tento příkaz.
4DOS
V prostředí 4DOS / 4NT se k definování používá následující syntaxe str
jako alias pro 4DOS kopírovat
příkaz:
alias kopie cp
Windows PowerShell
Chcete-li vytvořit nový alias v prostředí Windows PowerShell, nový alias
rutinu lze použít:
nový alias ci copy-item
Tím se vytvoří nový alias s názvem ci
který bude nahrazen copy-item
rutina při spuštění.
V prostředí PowerShell nelze alias použít k určení výchozích argumentů pro příkaz. Místo toho to musí být provedeno přidáním položek do kolekce $ PSDefaultParameterValues, jedné z proměnných předvoleb prostředí PowerShell.
Prohlížení aktuálně definovaných aliasů
K zobrazení definovaných aliasů lze použít následující příkazy:
alias # Použito bez argumentů; zobrazí seznam všech aktuálních aliasůalias -p # Seznam aliasů způsobem, který umožňuje opětovné vytvoření získáním výstupu; není k dispozici ve 4DOS / 4NT a PowerShellalias myAlias # Zobrazí příkaz pro definovaný alias
Přepsání aliasů
V skořápkách Unixu je možné při použití aliasu přepsat alias citováním libovolného znaku v názvu aliasu. Zvažte například následující definici aliasu:
alias je='ls -la'
Chcete-li tento alias přepsat a spustit je
příkaz, jak byl původně definován, lze použít následující syntaxi:
je to
nebo
V prostředí 4DOS / 4NT je možné přepsat alias předponou hvězdičkou. Zvažte například následující definici aliasu:
alias dir = * dir / 2 / str
Hvězdička ve 2. instanci dir
způsobí neaktivní dir
má být vyvoláno, což zabraňuje rekurzivnímu rozšíření aliasu. Uživatel může získat také nealiased chování dir
na příkazovém řádku pomocí stejné syntaxe:
* r
Změna aliasů
V prostředí Windows PowerShell se soubor
sloveso lze použít s alias
rutina pro změnu existujícího aliasu:
set-alias ci cls
Alias ci
nyní ukáže na cls
příkaz.
V prostředí 4DOS / 4NT se eset
příkaz poskytuje interaktivní příkazový řádek pro úpravu existujícího aliasu:
eset / a cp
The /A
způsobí alias str
které mají být upraveny, na rozdíl od proměnné prostředí se stejným názvem.
Odebírání aliasů
V unixových skořápkách a 4DOS / 4NT lze aliasy odstranit spuštěním unalias
příkaz:
unalias kopírovat # Odebere alias kopieunalias -A # Přepínač -a odstraní všechny aliasy; není k dispozici ve 4DOS / 4NT
unalias * # 4DOS / 4NT ekvivalent `unalias -a` - jsou podporovány zástupné znaky V prostředí Windows PowerShell lze alias odebrat z alias: drive pomocí odebrat položku
:
odebrat položku alias:ci # Odebere alias ci
Funkce
Řetězení
Alias obvykle nahradí pouze první slovo. Ale některé granáty, jako např bash
a ksh
, umožnit nahrazení sekvence nebo slov. Tato konkrétní funkce není k dispozici prostřednictvím funkčního mechanismu.
Obvyklá syntaxe je definovat první alias znakem koncové mezery. Například pomocí dvou aliasů:
alias seznam=je to # všimněte si koncového prostoru pro spuštění řetězeníalias dlouho='-Flas' # možnosti pro dlouhý seznam
umožňuje:
seznam dlouhý můj soubor # se při spuštění změní na „ls -Flas myfile“
pro dlouhý seznam, kde „long“ je také vyhodnocen jako alias.
Argumenty příkazu
V C Shell, argumenty lze vložit do příkazu pomocí řetězce \!*. Například s tímto aliasem:
alias ls-více je ! * | více'
ls-more / etc / usr
expanduje do ls / etc / usr | více
vypsat obsah adresářů / etc a / usr, po každé obrazovce se pozastavit. Bez \!*,
alias ls-více je to více'
místo toho se rozšíří na ls | více / etc / usr
který se nesprávně pokouší otevřít adresáře v více.[4]
The Bash a Korn mušle místo toho použijte funkce shellu - viz § Alternativy níže.
Alternativy
Aliasy by obvykle měly být jednoduché. Pokud by to nebylo jednoduché, doporučuje se obvykle použít jednu z následujících možností:
- Shell skripty, které v zásadě poskytují plnou schopnost vytvářet nové systémové příkazy.
- Symbolické odkazy v uživatelském
CESTA
(jako/zásobník
). Tato metoda je užitečná pro poskytnutí dalšího způsobu volání příkazu a v některých případech může umožnit přístup k funkci zakopaného příkazu pro malý počet příkazů, které používají své vyvolávací jméno k výběru režimu provozu. - Funkce prostředí, zejména pokud vytvářený příkaz potřebuje upravit interní běhové prostředí samotné skořápky (např proměnné prostředí ), je třeba změnit proud shellu pracovní adresář, nebo musí být implementovány způsobem, který zaručuje, že se objeví v cestě hledání příkazů pro cokoli jiného než interaktivní prostředí (zejména jakoukoli „bezpečnější“ verzi
rm
,str
,mv
a tak dále).
Nejběžnější formu aliasů, které do příkazu přidají jen několik možností a poté zahrnou zbytek příkazového řádku, lze snadno převést na funkce shellu podle tohoto vzoru:
alias ll='ls -Flas' # dlouhý seznam, aliasll () { Je -Blesk "$@" ; } # dlouhý seznam, funkce
Chcete-li zabránit tomu, aby funkce sama volala rekurzivně, použijte příkaz
:
je () { příkaz ls - barva=auto "$@" ; }
Ve starších Bourneových skořápkách používejte / bin / ls
namísto příkaz ls
.
Reference
- ^ "Rychly odkaz na AmigaDOS: Rügheimer, Hannes: Free Download, Borrow, and Streaming: Internet Archive". Internetový archiv. 2020-06-10. Citováno 2020-09-12.
- ^ "EFI mušle a skriptování". Intel. Citováno 2013-09-25.
- ^ IBM. „IBM System i verze 7.2 Programování Qshell“ (PDF). Citováno 2020-09-05.
- ^ Příklady předávání argumentů daných aliasu příkazu Archivováno 2012-11-25 na Wayback Machine
Další čtení
- McElhearn, Kirk (2006). Příkazový řádek Mac OS X: Unix Under the Hood. John Wiley & Sons. ISBN 978-0470113851.
externí odkazy
- Specifikace Single UNIX, Vydání 7 od Otevřená skupina : definování nebo zobrazení aliasů - reference k příkazům a nástrojům,
- Bash man page pro alias
- Příkaz alias od The Linux Information Project (LINFO)