2012-04-12 12 views
1

Mögliche Duplizieren:
Shell Script: How to pass command line arguments to an UNIX alias?Bash Programmierung einfügen Argumente in Bash-Aliase

Wie kann ich Argumente in ein Bash-Alias ​​einfügen?

zum Beispiel , wenn ich ein neues Verzeichnis & ich cd hinein die meiste Zeit schaffen, aber dafür habe ich zwei Befehle auszuführen.

$ mkdir directory 
$ cd directory 

so, ich frage mich, ob es möglich ist, in einzeln Befehlen einen neuen Verzeichnis & Schalter, um es zu schaffen. versuchte, den folgenden Alias ​​in meiner Datei .bashrc hinzufügen:

alias mkdir="mkdir [email protected] && cd [email protected]" 

so konnte ich es nennen normalerweise mkdir directory & es schaffen & dann wechseln würde in dieses Verzeichnis. Aber keine Würfel, es hat nicht funktioniert!

Gibt es irgendwelche Hinweise, wie kann ich Argumente in einen Alias ​​einfügen?

+0

[Es gibt keine Möglichkeit, das zu tun] (http://stackoverflow.com/questions/1821495/how-do-i-include-parameters-in-a-bash-alias). – l0b0

+0

Sieht aus wie dies beantwortet wurde: http://stackoverflow.com/questions/941338/shell-script-how-to-pass-command-line-arguments-to-an-unix-alias – lucrussell

Antwort

4

Betrachten Sie es als eine Funktion zu definieren.

function mkdir2 { 
    mkdir [email protected] 
    cd [email protected] 
} 

Sie werden es nicht auf diese Weise mkdir der Lage sein, alias, aber es werde tun, wie Sie es erwarten.

+0

Sie können die Funktion mkdir nennen , aber man kann es nicht rekursiv nennen: mkdir() {command mkdir $ 1; CD $ 1; } –

+0

leichte Verbesserung - Argumente in Anführungszeichen, nicht versuchen, zu cd, wenn der mkdir fehlgeschlagen: 'Funktion mkdir {Befehl mkdir" $ @ "&& cd" $ @ "; } ' –

Verwandte Themen