假设我有:
alias gg="git grep"
Run Code Online (Sandbox Code Playgroud)
然后像:
gg "int x"
Run Code Online (Sandbox Code Playgroud)
有效,但是
gg int x
Run Code Online (Sandbox Code Playgroud)
得到投诉.有没有办法将gg重写为zsh中的函数,以便它获取gg之后的所有参数,并将它们填充到字符串中?
谢谢!
Pau*_*ce. 59
gg() { git grep "$*"; }
Run Code Online (Sandbox Code Playgroud)
对于您的特定用例,这是一个坏主意。git-grep期待单参数模式。您正试图让 shell 将您的空间(在 int 和 x 之间)视为模式的一部分。当您尝试以下内容时,这将很快中断:gg foo.*bar或 shell 可能会解释的各种其他内容。所以后面的任何内容都gg应该引用。这就是为什么git grep int x也不起作用:fatal: ambiguous argument 'x': unknown revision or path not in the working tree...
如果您认为这gg是一个值得的击键保护程序,则应使 arg 与git-grep预期保持一致。您的原始别名适用于此。并继续单引号或双引号您的模式,就像您使用任何其他接受正则表达式的命令一样。
| 归档时间: |
|
| 查看次数: |
16342 次 |
| 最近记录: |