go环境配置之 .zshrc .bashrc .bash_profile 的区别

在Mac终端运行go build一直报如下错误:

ioutil.go:4:2: cannot find package “fmt” in any of:
/usr/local/Cellar/go/1.10.2/src/fmt (from $GOROOT)
/Users/wangdejun/gopath/src/fmt (from $GOPATH)

不能找到src/fmt包,

>which go 
>/usr/local/bin/go

明显环境变量$GOROOT和$GOPATH配置错误,

修改了.zshrc和.bashrc都不能改变这个环境变量,找到.bash_profile

修改~/.bash_profile

添加export GOPATH=/usr/local/bin/go

go build文件ok,问题解决。
好奇地查了一下.bashrc,.bash_profile以及.zshrc之间的区别:

  • Shell配置文件之间的主要区别在于,有些配置比如.bash_profile只能被『登录』用户读取;另外的一些配置文件被非登录用户读取,比如.bashrc;还有一些配置比如~/.zshrc,无论登录和非登录用户都可以读取。
  • Mac OS X的终端Terminal.app实际上运行了『登录Shell』而不是『非登录shell』,那么就默认调用.bash_profile,而不是.bashrc。这样问题就明确了,在配置$GOROOT环境变量时,一定要在.bash_profile中配置才行。

【注】运行source ~/.bash_profile,source命令的作用就是用来执行一个脚本。我们知道./test.sh也可以执行test.sh脚本文件,那么source和直接执行有什么区别呢

  • 如果在一个脚本里export $PATH=111 ,用./test.sh执行该脚本,执行完毕后,运行 echo $PATH,发现没有值,如果你用source来执行 ,然后再echo ,就会发现PATH=111。
  • 因为调用./test.sh来执行shell是在一个子shell里运行的,所以执行后,结构并没有反映到父shell里,但是source与你执行./test.sh不同的是它就是在本shell中执行的,所以可以直接在父shell中看到结果

 

不甚了解,仅此记录。

转发 王德军 的知乎 https://zhuanlan.zhihu.com/p/38777930  

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
.zshrc和.bash_profile是两个不同的配置文件,它们在不同的操作系统和终端环境中使用。.zshrc是用于Zsh终端的配置文件,而.bash_profile是用于Bash终端的配置文件。 在Mac OS X的终端环境中,默认情况下会使用Bash终端,因此会加载.bash_profile文件。而在一些其他的Linux发行版中,可能会使用Zsh终端,此时会加载.zshrc文件。 主要区别在于加载的时机和作用范围。.bash_profile是在用户登录时执行的,它只会执行一次,并且主要用于设置用户的个人环境变量和执行一些特定于用户的命令。而.zshrc是在每次打开新的终端时执行的,它用于设置Zsh终端的配置信息和执行一些与终端相关的命令。 因此,如果你使用的是Bash终端,你应该将环境变量的配置放在.bash_profile中。而如果你使用的是Zsh终端,你应该将环境变量的配置放在.zshrc中。这样可以确保在不同的终端环境中正确加载和使用配置信息。 #### 引用[.reference_title] - *1* [go环境配置之 .zshrc .bashrc .bash_profile区别](https://blog.csdn.net/m21211314/article/details/106977899)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [MacOS环境配置 .zshrc .bashrc .bash_profile](https://blog.csdn.net/zhouweihua138/article/details/129475927)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [mac终端之zshbash](https://blog.csdn.net/clear_to_/article/details/120965680)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值