Verwenden von Argumenten im Ersetzungstext eines Alias

Verwenden von Argumenten im Ersetzungstext eines Alias

Im Bash-Handbuch steht für Alias:

Es gibt keinen Mechanismus zur Verwendung von Argumenten im Ersetzungstext wie in csh. Wenn Argumente benötigt werden, sollte eine Shell-Funktion verwendet werden (siehe Abschnitt 3.3 [Shell-Funktionen], Seite 17).

Was bedeuten die beiden Sätze?

"Argumente im Ersatztext verwenden" scheint nicht das Folgende zu bedeuten, was erfolgreich ist

$ alias foo="echo bac" 
$ foo
bac
$ foo hello
bac hello

Antwort1

Ich nehme an, der Wortlaut ist nicht perfekt, es sei denn, man nimmt ihnsehrwörtlich. Bash ersetzt keineAliasText mit Argumenten; es wirdAnhängenArgumente zum Text, wie Sie gesehen haben. Dies steht im Gegensatz zuCSH-Aliasedas erweitert Argumenteinnender Ersatztext.

Der zweite Satz ergibt sich meiner Meinung nach aus der obigen Einschränkung und empfiehlt flexiblere Funktionsdefinitionen gegenüber simplen Aliasnamen.

verwandte Informationen