无法设置别名,zsh:未找到命令

无法设置别名,zsh:未找到命令,zsh,Zsh,我有~/.bash_别名文件,如下所示: function gittag() { CMD="git tag -a ${1} -m '${1}'" echo $CMD `$CMD` } 我在my.zshrc中引用了此文件: 但是,别名不起作用: ➜ ~ gittag foo git tag -a foo -m 'foo' gittag:3: command not found: git tag -a foo -m 'foo' ➜

我有~/.bash_别名文件,如下所示:

function gittag() {
         CMD="git tag -a ${1} -m '${1}'"
         echo $CMD
         `$CMD`
}
我在my.zshrc中引用了此文件:

但是,别名不起作用:

➜  ~ gittag foo      
git tag -a foo -m 'foo'
gittag:3: command not found: git tag -a foo -m 'foo'
➜  ~ 

不要仅仅因为您认为可以更轻松地更新命令和同步登录而将命令塞进变量中。它产生了一个更大的问题,即您依赖于单词分割来不破坏命令。在某种程度上,您确实需要分词,以便将$CMD分解为git及其参数

只需使用以下函数

gittag() {
    echo "git tag -a '$1' -m '$1'"
    git tag -a "$1" -m "$1"
}

找到别名可能$PATH没有传递到函数中?另外,您可能希望将backticks更改为$formatSee命令。
gittag() {
    echo "git tag -a '$1' -m '$1'"
    git tag -a "$1" -m "$1"
}