Usando argumentos no texto de substituição de um alias

Usando argumentos no texto de substituição de um alias

O manual do bash diz para alias,

Não há mecanismo para usar argumentos no texto de substituição, como em csh. Se argumentos forem necessários, uma função shell deverá ser usada (veja Seção 3.3 [Funções Shell], página 17).

O que significam as duas frases?

"usar argumentos no texto de substituição" não parece significar o seguinte, o que sucede

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

Responder1

Suponho que o texto não seja perfeito, a menos que você o consideremuitoliteralmente. Bash não substitui nenhumaliastexto com argumentos; ele vaiacrescentarargumentos para o texto, como você viu. Isto está em contraste comAliases de CSHque expande argumentosdentroo texto substituto.

A segunda frase, IMHO, decorre da restrição acima e incentiva definições de funções mais flexíveis em vez de aliases simplistas.

informação relacionada