Wie definiere ich Alias ​​mit Variablen, die zur Laufzeit geändert werden können?

Wie definiere ich Alias ​​mit Variablen, die zur Laufzeit geändert werden können?

Dies ist wahrscheinlich eine sehr einfach zu beantwortende Frage, ich konnte jedoch aufgrund unterschiedlicher Formulierungen beim Verfassen der Titel keine Fragen finden, in denen diese Frage bereits gestellt wurde.

Wenn ich es in meiner Bash-Eingabeaufforderung ausführe, help aliaswird nur Folgendes zurückgegeben:

alias: alias [-p] [name[=value] ... ] 

Dann ein ganz kurzer Text, der nichts mit meiner Frage zu tun hat.

Ich habe auch versucht:

help function

Aber das hat mir auch nicht viele Informationen gegeben.

Zum Beispiel:

 alias mancat="man command | cat"

Damit ich laufen könnte mancat grep, was gleichbedeutend wäre mit man grep | cat.

Ich weiß, dass das Variablen genannt wird, aber sie sind undefiniert und ich möchte sie jederzeit ändern können, beispielsweise beim Ausführen meines Beispielbefehls.

Antwort1

Sie müssen die Funktion und nicht den Alias ​​verwenden, damit

mancat () { man "$1" | cat ; }
mancat grep

wird tun, was Sie wollen.

Ähnlich

mygrep () { "$1" "$3" "$2" | "$1" -v "$4" | "$5" -n1; }
mygrep grep pattern1 file pattern2 head
mygrep grep pattern1 file pattern2 tail

wird grepfür pattern1in fileund dann wählen Sie nur die Zeilen aus, die nicht übereinstimmen pattern2( grep -v) und am Ende wählen Sie nur die erste (oder letzte) Zeile aus.

verwandte Informationen