Alias ​​(Befehl)

alias
Alias command example.png
Beispiel von 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

  1. ^ Rughauberer, Hannes (2020-06-10). Amigados Schnellreferenz: Rügheimer, Hannes: Kostenloser Download, Ausleihen und Streaming: Internetarchiv. Internetarchiv. ISBN 9781557550491. Abgerufen 2020-09-12.
  2. ^ "EFI -Muscheln und Skripten". Intel. Abgerufen 2013-09-25.
  3. ^ IBM. "IBM System I Version 7.2 Programmierung Qshell" (PDF). Abgerufen 2020-09-05.
  4. ^ 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