概述

在写 GO 代码是经常需要设置 GOPATH 变量,有没有脚本来代替 export 操作?

解决方法

使用脚本可以将当前目录设置到 GOPATH 中,但是,这只对当前脚本有效(因为脚本是在单独的进程中执行)。最直接的想法是修改当前 shellGOPATH 环境变量,不过没有找到方法。后面在使用 scl 命令时有了感触,可以使用创建一个新的 shell 环境,附带上想要的 GOPATH 变量。

实现脚本:

1
2
3
4
5
6
7
8
9
10
11
#! /bin/bash

#
# file : go_setup.sh
#

old=$GOPATH
cwd=`pwd`
path_var="$old:$cwd"
cmd="export GOPATH=$path_var; exec zsh"
zsh -c "$cmd"

总结

遇到问题换条路走,要灵活,不过说的简单有时候也找不到其他路。