.bashrc 中的别名似乎不接受参数

Mar*_*tyn 4 bash alias bashrc

可能的重复:
在 Bash 中,何时使用别名、何时编写脚本以及何时编写函数?

我正在尝试在我的 .bashrc 文件中设置别名,但它没有按预期工作。

我有这个有效的别名:

alias lolcat='python /home/martyn/Dropbox/Applications/Scripts/logcat-viewer/unixcoloredlogcat.py'
Run Code Online (Sandbox Code Playgroud)

我通常这样使用这个命令:

adb logcat SomeValue:* *:e | lolcat
Run Code Online (Sandbox Code Playgroud)

但我想把它放到一个别名中,这样我就可以写:

logcat SomeValue
Run Code Online (Sandbox Code Playgroud)

但是我下面的别名不起作用 - 似乎 1 美元没有通过 - 谁能帮我解决这个问题?

alias logcat="adb lolcat $1:* *:E | lolcat"
Run Code Online (Sandbox Code Playgroud)

** 使固定 **

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

function logcat(){ 
    adb lolcat $1:* *:E | lolcat 
}
Run Code Online (Sandbox Code Playgroud)

小智 7

没有像在 csh 中那样在替换文本中使用参数的机制。如果需要参数,则应使用 shell 函数。请参阅Bash 参考手册::6.6 别名