Gopher们经常会遇到在多个$GOPATH来回切换工作的场景,每次切换都要手动修改$GOPATH才能编译运行当前项目,很是不方便!!那么有没有自动修改$GOPATH的方法呢?答案当然是肯定的!
本人在 Linux/Mac的命令行通过配置 `~/.zshrc` 文件实现了在窗口启动及调用`jj`命令时自动重置$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 export GOBIN=$gopath/bin echo '$GOPATH:'$GOPATH fi fi } jj () { cd $1 setgopath }
步骤三:使配置生效
source ~/.zshrc