我创建了这样的别名:
alias gopath="export GOPATH=$(pwd)"
但不幸的是,它将GOPATH
设置为.zshrc
来源的目录。当我实际调用别名时,如何更改别名以评估pwd
?
答案 0 :(得分:2)
使用单引号而不是双引号。变量和命令替换在双引号内扩展。当您使用单引号时,它们不会被展开,但是当别名被替换为该行时,它们将被扩展。
alias gopath='export GOPATH=$(pwd)'
答案 1 :(得分:1)
您可以使用函数而不是别名:
def gopath {
export GOPATH=$(pwd)
}
答案 2 :(得分:1)
为了避免在定义别名时扩展$(pwd)
,您可以使用单引号而不是双引号:
alias gopath='export GOPATH=$(pwd)'
您还可以使用$
显式转义\
,同时仍然使用双引号:
alias gopath="export GOPATH=\$(pwd)"
如果您想在定义期间扩展某些部分而在使用别名时扩展其他部分,这会派上用场。