此问题在此处已有答案:
unexpected token `(' defining a function to replace an alias in bash(3个答案)
上个月关门了。
我使用的是Mac OS和zsh终端。当我运行我的文件时,我在终端上得到这个错误。
/file/path/.git_alias:10: defining function based on alias `gss'
/file/path/.git_alias:10: parse error near `()'
字符串
有人可以帮助我为什么我得到这个错误吗?
这是我的文件名和文件内容。
文件名:.git_alias
文件内容:
alias gsl='git stash list'
gsa() {
local num
num=$1
shift 1 || return
git stash apply stash@{"${num}"} "$@";
}
gss() {
local comment
comment=$1
shift 1 || return
git stash save -u "${comment}" "$@";
}
型
我试图寻找bash语法,并试图在适当的地方添加和删除"
,但我仍然得到上面提到的相同错误。
1条答案
按热度按时间qvtsj1bj1#
问题是您已经有一个名为
gss
的别名,这就是第一个警告告诉您的。发生语法错误是因为当它看到以
gss
开头的行时,它扩展了别名。在此之后,用于保存函数体的大括号不再是有效的语法。如果找不到定义别名的位置并将其删除,则在此文件中有两个选项:
首先删除别名:
字符串
或者使用另一种语法来定义函数:
型
第三种选择是重命名函数或别名,这样它们就不会冲突。