“ * .foo” shell函数

| 我想添加到.zshrc函数中,该函数将对后缀为“ .c”的文件执行操作。例如,
*.c () {
    gcc $0 -o ${0%.*}
}
输入\“ foo.c \”时必须执行\“ gcc foo.c -o foo \” 但是,当我将此功能添加到\“。zshrc \”时,我的shell在登录时开始打印\“找不到匹配项:* .c \”。 我可以通过其他方式或将此功能设置为“惰性”吗?     
已邀请:
您会想要ѭ1的行为。从手册页:
 ALIASES
   Suffix aliases are supported in zsh since version 4.2.0. Some examples:

       alias -s tex=vim
       alias -s html=w3m
       alias -s org=w3m

   Now pressing return-key after entering foobar.tex starts vim with foobar.tex. Calling
   a html-file runs browser w3m. www.zsh.org and pressing enter starts w3m with argument
   www.zsh.org.
将您编写的函数与后缀别名结合起来,就可以开始了! 首先,以这种形式编写函数:
compile_c () {     
   gcc $1 -o ${1%.*}
}
然后是后缀别名
alias -s c=\'compile_c\'
将按预期工作。     

要回复问题请先登录注册