“*.foo”外壳函数
我想添加到我的 .zshrc 函数中,该函数将对具有“.c”后缀的文件执行操作。例如,
*.c () {
gcc $0 -o ${0%.*}
}
当我输入“foo.c”时必须执行“gcc foo.c -o foo”
但是当我将此函数添加到“.zshrc”时,我的shell开始在登录时打印“no matches find: *.c” 。
我可以用其他方式做这个或者让这个函数变得“懒惰”吗?
I want to add to my .zshrc function that will perform operations with file that has ".c" suffix. For example,
*.c () {
gcc $0 -o ${0%.*}
}
must perform "gcc foo.c -o foo" when I am entering "foo.c"
But when I added this function to ".zshrc", my shell begins prints "no matches found: *.c" on login.
Can I do this other way or make this function "lazy"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要
alias -s
行为。从联机帮助页中:将您编写的函数与后缀别名结合起来,您就可以开始了!
首先,以这种形式编写您的函数:
然后后缀别名
将按预期工作。
You'll want
alias -s
behaviour. From the manpages:Combine your written function to a suffix alias and you should be set to go!
First, write your function in this form:
And then the suffix alias
will work as intended.