Alias no .bashrc não parece aceitar um argumento [duplicado]

4

Estou tentando configurar um alias no meu arquivo .bashrc, mas não está funcionando como esperado.

Eu tenho esse alias que funciona:

alias lolcat='python /home/martyn/Dropbox/Applications/Scripts/logcat-viewer/unixcoloredlogcat.py'

e eu normalmente uso este comando como tal:

adb logcat SomeValue:* *:e | lolcat

Mas eu quero colocar isso em um alias para que eu possa escrever:

logcat SomeValue

mas meu alias abaixo não está funcionando - parece que o $ 1 não está passando - alguém pode me ajudar a corrigir isso?

alias logcat="adb lolcat $1:* *:E | lolcat"

** FIX **

alias lolcat='python /home/martyn/Dropbox/Applications/Scripts/logcat-viewer/unixcoloredlogcat.py'

function logcat(){ 
    adb lolcat $1:* *:E | lolcat 
}
    
por Martyn 13.03.2012 / 11:03

1 resposta

7

Não há mecanismo para usar argumentos no texto de substituição, como em csh. Se argumentos forem necessários, uma função de shell deve ser usada. Veja Manual de referência do bash :: 6.6 Aliases

    
por 13.03.2012 / 11:23