【发布时间】:2015-04-02 03:14:21
【问题描述】:
我希望我的 grep 命令更短,例如,能够只在命令行上键入 g 以执行带有选项 -Pei 的 grep。
我尝试在 Bash 中使用别名,但管道不起作用。
alias g='grep --color auto -Pei'
给我
history |g qemu
grep: auto: No such file or directory
grep: qemu: No such file or directory
然后我尝试了.bashrc
function g () { /bin/grep -Pei "$@" ;}
它仍然输出
history |g qemu
grep: qemu: No such file or directory
【问题讨论】:
-
你使用哪个版本的 grep,GNU 还是 BSD?
-
别名通过将命令的第一个单词替换为其他内容并执行结果来工作。这意味着如果完整的命令
grep --color auto -Pei qemu不起作用,那么创建alias g='grep --color auto -Pei'和运行g qemu也不起作用,因为它们扩展为完全相同的命令。尝试先写出一个完整的、有效的命令,然后再给它起别名。 -
Thorsten,你的问题已经解决了,这对你来说很好。将答案标记为已接受(无论是否属于我)有助于其他人(未来的读者)。