Frage

Gibt es eine gute Möglichkeit, mehrere Substitutionen für das Aliasing eines Befehls durchzuführen?

Zum Beispiel

alias cmd = 'ssh -R $1:$2:$1:$2 $3 | something {$1, $2, $3}'
cmd 127.0.0.1 1234 server

Etwas wie das..

Tatsächlich macht dies keinen Sinn, die Ausgabe wie diese zu leiten, aber eine ähnliche Syntax ist das, was ich gerne sehen würde.

Es ist schön, auch Mappings benannt zu haben, aber nur Indizes sind in Ordnung.

Vielleicht awk verwenden?

War es hilfreich?

Lösung

Wie wäre es stattdessen mit einer Shell -Funktion ?:

$ cmd() { echo ssh -R $1:$2:$1:$2 $3 ; echo something {$1, $2, $3} ; }
$ cmd 127.0.0.1 1234 server
ssh -R 127.0.0.1:1234:127.0.0.1:1234 server
something {127.0.0.1, 1234, server}

Andere Tipps

Sie müssen es mit einer Funktion definieren. Beispiel:

cmd () { echo -e "$1\n$2" | grep "$1"; }

Vergessen Sie nicht den Raum zwischen { und echo.

Dies würde zu einem folgenden Verhalten führen:

$ cmd hello world
hello
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top