Alias (Befehl)
Originalautor (en) | Bill Joy |
---|---|
Entwickler (en) | Verschiedene Open Source und kommerziell Entwickler |
Betriebssystem | Unix, Unix-artig, Amigados, Microsoft Windows, Reactos, Aros, Kolibrios, Ibm i |
Plattform | Plattformübergreifend |
Typ | Befehl |
Im Computer, alias ist ein Befehl in verschiedenen Befehlszeileninterpreten (Muscheln), der einen Austausch eines Wortes durch eine andere Zeichenfolge ermöglicht.[1] Es wird hauptsächlich zum Abkürzung eines Systembefehls oder zum Hinzufügen von Standardargumenten zu einem regelmäßig verwendeten Befehl verwendet. alias
ist erhältlich in Unix -Muscheln, Amigados, 4dos/4nt, Kolibrios, Windows PowerShell, Reactos, und die EFI -Hülle.[2] Aliasing -Funktionalität in der MS-DOS und Microsoft Windows Betriebssysteme werden von der bereitgestellt Doskey Befehlszeilen-Dienstprogramm.
Ein Alias wird das Leben der Shell -Sitzung halten. Regelmäßig verwendete Aliase können aus den Shells eingestellt werden RC -Datei (wie zum Beispiel .Bashrc
) damit sie zu Beginn der entsprechenden Shell -Sitzung verfügbar sein. Die alias -Befehle können entweder direkt in der Konfigurationsdatei geschrieben sein oder bezogen Aus einer separaten Datei.
Geschichte
In Unix wurden Aliase in der eingeführt C Shell und überleben in Nachkommenschalen wie z. TCSH und verprügeln. C -Shell -Aliase waren streng auf eine Linie beschränkt. Dies war nützlich, um einfache Verknüpfungsbefehle zu erstellen, aber nicht komplexere Konstrukte. Ältere Versionen der Bourne Shell bot keine Aliase, aber es lieferte Funktionen, die leistungsfähiger sind als das CSH -Alias -Konzept. Das Alias -Konzept von CSH wurde in importiert in Bourne wieder Shell (bash) und die Korn Shell (KSH). Bei Shells, die sowohl Funktionen als auch Aliase unterstützen, aber keine parametrisierten Inline -Shell -Skripte, wird die Verwendung von Funktionen, wo immer möglich, empfohlen. Fälle, in denen Aliase erforderlich sind, umfassen Situationen, in denen verkettete Aliase erforderlich sind (Bash und KSH). Das alias Der Befehl wurde auch auf die portiert Ibm i Betriebssystem.[3]
Verwendungszweck
Aliase erstellen
Gemeinsame Unix -Muscheln
Nicht-persistente Aliase können erstellt werden, indem Namen/Wertpaare als Argumente für den Befehl alias angegeben werden. Im Unix -Muscheln Die Syntax ist:
alias GC="Git Commit"
C Shell
Die entsprechende Syntax in der C Shell oder TCSH Shell ist:
alias GC "Git Commit"
Dieser Alias bedeutet das, wenn der Befehl GC
wird in der Schale gelesen, sie wird durch ersetzt Git Commit
Und dieser Befehl wird stattdessen ausgeführt.
4dos
In der 4DOS/4NT -Schale wird die folgende Syntax verwendet, um zu definieren CP
Als Alias für die 4DOs Kopieren
Befehl:
Alias CP -Kopie
Windows PowerShell
Um einen neuen Alias in Windows PowerShell zu erstellen, die NEW-ALIAS
CMDLet kann verwendet werden:
NEW-ALIAS CI Kopie
Dies schafft einen neuen Alias, der genannt wird CI
das wird durch das ersetzt Kopie
CMDLet bei Ausführung.
In PowerShell kann ein Alias nicht verwendet werden, um Standardargumente für einen Befehl anzugeben. Stattdessen muss dies erfolgen, indem Elemente zur Sammlung $ psdefaultParameterervalues hinzugefügt werden, eine der PowerShell -Präferenzvariablen.
Die derzeit definierten Aliase anzeigen
Um definierte Aliase anzuzeigen, können die folgenden Befehle verwendet werden:
alias # Ohne Argumente verwendet; Zeigt eine Liste aller aktuellen Aliase an alias -p # Listen Sie Aliase auf eine Weise auf, die die Wiederherstellung durch Beschaffung der Ausgabe ermöglicht. nicht in 4DOS/4NT und PowerShell verfügbar alias Myalias # Zeigt den Befehl für einen definierten Alias an
Übergeordnete Aliase
In Unix -Shells ist es möglich, einen Alias zu überschreiben, indem ein Zeichen im Alias -Namen bei Verwendung des Alias angegeben wird. Betrachten Sie beispielsweise die folgende Alias -Definition:
alias ls='ls -la'
Um diesen Alias zu überschreiben und die auszuführen ls
Befehl Wie ursprünglich definiert wurde, kann die folgende Syntax verwendet werden:
'ls' '
oder
\ ls
In der 4DOS/4NT -Shell ist es möglich, einen Alias zu überschreiben, indem er sie mit einem Sternchen vorangestellt. Betrachten Sie beispielsweise die folgende Alias -Definition:
alias dir = *dir /2 /p
Das Sternchen in der 2. Instanz von Dir
verursacht die Ungerüsten Dir
aufgerufen werden, um eine rekursive Alias -Expansion zu verhindern. Auch der Benutzer kann das nicht veralte Verhalten von erhalten Dir
In der Befehlszeile mit derselben Syntax:
*Dir
Aliase ändern
In Windows PowerShell die einstellen
Verb kann mit dem verwendet werden alias
CMDLET, um einen vorhandenen Alias zu ändern:
Set-Alias CI Cls
Der Alias CI
wird nun auf die zeigen Cls
Befehl.
In der 4DOS/4NT -Schale die Eset
Der Befehl bietet eine interaktive Befehlszeile, um einen vorhandenen Alias zu bearbeiten:
ESET /A CP
Das /a
verursacht den Alias CP
zu bearbeiten, im Gegensatz zu einer gleichnamigen Umgebungsvariablen.
Aliase entfernen
In UNIX -Shells und 4DOs/4NT können Aliase durch Ausführen der Ausführung des Unisal
Befehl:
Unisal Kopieren # Entfernt den Kopie -Alias Unisal -a # Der -A -Schalter entfernt alle Aliase; nicht in 4dos/4nt verfügbar Unisal * # 4DOS/4NN -Äquivalent von "Unalias -a` - Wildcards werden unterstützt
In Windows PowerShell kann der Alias aus dem Alias: \ Laufwerk verwendet werden Gegenstand entfernen
:
Gegenstand entfernen alias:CI # Entfernt den CI -Alias
Merkmale
Verkettung
Ein Alias ersetzt normalerweise nur das erste Wort. Aber einige Muscheln, wie z. bash
und ksh
, lassen Sie eine Sequenz oder Wörter ersetzt werden. Dieses spezielle Merkmal ist durch den Funktionsmechanismus nicht verfügbar.
Die übliche Syntax besteht darin, den ersten Alias mit einem nachfolgenden Raumschiff zu definieren. Zum Beispiel unter Verwendung der beiden Aliase:
alias aufführen='ls' ' # Beachten Sie den nachfolgenden Raum, um die Verkettung auszulösen alias lang='-Flas' # Optionen für LS für eine lange Auflistung
erlaubt:
Lob lange myfile auf # wird "ls -flas myfile" beim Lauf
für eine lange Auflistung, bei der "lang" auch als Alias bewertet wird.
Befehlsargumente
In dem C Shell, Argumente kann mit der Zeichenfolge in den Befehl eingebettet werden \!**. Zum Beispiel mit diesem Alias:
alias ls-more 'ls \!* | mehr'
ls-more /etc /usr
erweitert zu ls /etc /usr | mehr
Um den Inhalt der Verzeichnisse /etc und /usr aufzulisten, pausieren Sie nach jedem Screenful. Ohne \!**Anwesend
alias ls-more 'ls | mehr'
würde stattdessen auf expandieren ls | mehr /etc /usr
was fälschlicherweise versucht, die Verzeichnisse in zu öffnen mehr.[4]
Das Verprügeln und Korn -Muscheln Verwenden Sie stattdessen Shell -Funktionen - siehe § Alternativen unter.
Alternativen
Aliase sollten normalerweise einfach gehalten werden. Wenn es nicht einfach wäre, wird in der Regel eine der folgenden Empfehlungen verwendet:
- Shell -Skripte, die im Wesentlichen die volle Fähigkeit bieten, neue Systembefehle zu erstellen.
- Symbolische Links im Benutzer
WEG
(wie zum Beispiel/Behälter
). Diese Methode ist nützlich, um den Befehl zusätzlich aufzurufen. In einigen Fällen kann der Zugriff auf eine begrabene Befehlsfunktion für die geringe Anzahl von Befehlen ermöglichen, die ihren Aufrufnamen verwenden, um die Betriebsart zu wählen. - Shell -Funktionen, insbesondere wenn der erstellte Befehl das interne ändern muss Laufzeitumgebung der Hülle selbst (wie z. Umgebungsvariablen), muss den Strom der Shell ändern Arbeitsverzeichnisoder muss auf eine Weise implementiert werden, die garantiert, dass sie im Befehlssuchpfad für alles andere als eine interaktive Hülle angezeigt werden (insbesondere eine "sicherere" Version von
rm
,cp
,mv
und so weiter).
Die häufigste Form von Aliase, die nur ein paar Optionen zu einem Befehl hinzufügen und dann den Rest der Befehlszeile enthalten, kann leicht in Shell -Funktionen nach diesem Muster konvertiert werden:
alias ll='ls -flas' # Lange Listing, Alias ll () { ls -flas "$@" ; } # lange Auflistung, Funktion
Um zu verhindern, dass sich selbst eine Funktion aufruft rekursiv, verwenden Befehl
:
ls () { Befehl ls --farbe=Auto "$@" ; }
In älteren Bourne -Shells verwenden /bin/ls
Anstatt von Befehl ls
.
Verweise
- ^ Rughauberer, Hannes (2020-06-10). Amigados Schnellreferenz: Rügheimer, Hannes: Kostenloser Download, Ausleihen und Streaming: Internetarchiv. Internetarchiv. ISBN 9781557550491. Abgerufen 2020-09-12.
- ^ "EFI -Muscheln und Skripten". Intel. Abgerufen 2013-09-25.
- ^ IBM. "IBM System I Version 7.2 Programmierung Qshell" (PDF). Abgerufen 2020-09-05.
- ^ Beispiele für das Übergeben von Argumenten an einen Kommandoalias Archiviert 2012-11-25 in der Wayback -Maschine
Weitere Lektüre
- McElhearn, Kirk (2006). Die MAC OS X -Befehlszeile: UNIX unter der Motorhaube. John Wiley & Sons. ISBN 978-0470113851.
Externe Links
- Die einzelne Unix -Spezifikation, Version 4 von Die offene Gruppe : Definieren oder Anzeigen von Aliase - Shell and Utilities Referenz,
- Bash -Mann -Seite für Alias
- Der Alias -Befehl durch das Linux Information Project (LINFO)