Gopher们经常会遇到在多个$GOPATH来回切换工作的场景,每次切换都有手动修改$GOPATH才能编译运行当前项目,很是不方便!!那么有没有自动修改$GOPATH的方法呢?答案当然是肯定的!
本人在 Linux/Mac的命令行通过配置 `~/.zshrc` 文件实现了在窗口启动及调用cd命令时自动重置$GOPATH的功能。
思路是:
首先判断当前目录是否在某个 `src` 目录下;
若在,则进一步判断当前路径对应的GOPATH是否已经设置到环境变量;
若没有设置,则自动修改$GOPATH到当前路径。
步骤一:打开 `~/.zshrc` 文件
vim ~/.zshrc
步骤二:将下面代码拷贝到 `~/.zshrc` 文件中,并保存
function setgopath() {
currpath=`pwd`
gopath=${currpath%/src*}
if [[ $currpath != $gopath ]];then
if [[ $gopath != $GOPATH ]];then
export GOPATH=$gopath
echo '$GOPATH:'$GOPATH
fi
fi
}
setgopath
function cd_and_setgopath() {
cd $1
setgopath
}
alias cd='cd_and_setgopath'
步骤三:使配置生效
source ~/.zshrc
有疑问加站长微信联系(非本文作者)