linux中用shell快速安装配置Go语言的开发环境

时间:2021-05-22

介绍

go1.5+版本提供编译好的安装包,我们只需要解压到相应的目录,并添加一些环境变量的配置即可。

Go语言的安装步骤

下载安装包go1.7.linux-amd64.tar.gz

解压文件到指定目录: tar -zxf go1.7.linux-amd64.tar.gz

设置环境变量:GOROOT, GOPATH, PATH

既然我们可以列出这些步骤,那么便可以将整个过程自动化。

下面是安装脚本

#!/bin/bash#Upgrade go version to 1.7#wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz go1.7.tar.gzfunction info() { echo -e "\033[1;34m$1 \033[0m"}function warn() { echo -e "\033[0;33m$1 \033[0m"}function error() { echo -e "\033[0;31m$1 \033[0m"}function usage() { info "Upgrade or install golang..." info "USAGE:" info " ./upgrade.sh tar_file gopath" info " tar_file specify where is the tar file of go binary file" info " gopath specify where is the go workspace, include src, bin, pkg folder"}function createGoPath() { if [ ! -d $1 ]; then mkdir -p $1 fi if [ ! -d "$1/src" ]; then mkdir "$1/src" fi if [ ! -d "$1/bin" ]; then mkdir "$1/bin" fi if [ ! -d "$1/pkg" ]; then mkdir "$1/pkg" fi}if [ -z $1 ];then usage exit 1fifile=$1if [ ! -f $file ];then error "${file} not exist..." exit 1fiunzipPath="`pwd`/tmp_unzip_path/"info $unzipPathif [ ! -d $unzipPath ];then info "not exist" mkdir $unzipPathfitar -zxf $file -C $unzipPathgoroot=$GOROOTif [ ! -n $GOROOT ];then warn "Use default go root /usr/local/go" goroot="/usr/local/go"figopath=$2info "Create go workspace, include src,bin,pkg folder..."if [ -z $2 ]; then user=`whoami` gopath="/home/$user/workspace/golang" warn "Use $gopath as golang workspace..." if [ ! -d $gopath ]; then mkdir -p $gopath fificreateGoPath $gopathinfo "Copy go unzip files to $goroot"sudo cp -r "$unzipPath/go" $gorootrm -rf $unzipPath#etcProfile="/home/user/Desktop/etc"etcProfile="/etc/profile"exportGoroot="export GOROOT=$goroot"if [ ! -z $GOROOT ];then cat $etcProfile | sed 's/^export.GOROOT.*//' | sudo tee $etcProfile > /dev/nullfiecho $exportGoroot | sudo tee -a $etcProfileexportGopath="export GOROOT=$gopath"if [ ! -z $GOPATH ];then cat $etcProfile | sed 's/^export.GOPATH.*//' | sudo tee $etcProfile > /dev/nullfiecho "export GOPATH=$gopath" | sudo tee -a $etcProfileecho 'export PATH=$GOROOT/bin:$GOPATH/bin:$PATH' | sudo tee -a $etcProfile# ## Replace multiple empty lines with one empty linecat $etcProfile -s | sudo tee $etcProfile > /dev/nullinfo "To make configuration take effect, will reboot, pls enter[y/n]"read -p "[y/n]" isRebootif [ $isReboot = "y" ];then sudo rebootfi

讲一讲脚本做的事情吧

1、脚本要求输入编译好的安装包,这里本来是可以做成直接下载的, 但是考虑到大多数人是无法连接到golang的官网的,因此放弃了这一步。

2、解压文件到指定的目录, 默认为/usr/local/go , 也可以通过运行时指定

3、在GOPATH下面创建3个文件夹: src, bin, pkg, GOPATH可以运行时指定,默认为/home/{user}/workspace/golang

4、设置环境变量: $GOPATH, $GOROOT

5、重启服务,使对/etc/profile的修改生效

这里有一些主意的点是,有可能系统配置过golang的环境变量, 那么需要先删除这些配置,然后重新写入。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章