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

介绍

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.gz

function 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 1

fi

file=$1

if [ ! -f $file ];

then

error "${file} not exist..."

exit 1

fi

unzipPath="`pwd`/tmp_unzip_path/"

info $unzipPath

if [ ! -d $unzipPath ];

then

info "not exist"

mkdir $unzipPath

fi

tar -zxf $file -C $unzipPath

goroot=$GOROOT

if [ ! -n $GOROOT ];

then

warn "Use default go root /usr/local/go"

goroot="/usr/local/go"

fi

gopath=$2

info "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

fi

fi

createGoPath $gopath

info "Copy go unzip files to $goroot"

sudo cp -r "$unzipPath/go" $goroot

rm -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/null

fi

echo $exportGoroot | sudo tee -a $etcProfile

exportGopath="export GOROOT=$gopath"

if [ ! -z $GOPATH ];

then

cat $etcProfile | sed 's/^export.GOPATH.*//' | sudo tee $etcProfile > /dev/null

fi

echo "export GOPATH=$gopath" | sudo tee -a $etcProfile

echo 'export PATH=$GOROOT/bin:$GOPATH/bin:$PATH' | sudo tee -a $etcProfile

# ## Replace multiple empty lines with one empty line

cat $etcProfile -s | sudo tee $etcProfile > /dev/null

info "To make configuration take effect, will reboot, pls enter[y/n]"

read -p "[y/n]" isReboot

if [ $isReboot = "y" ];

then

sudo reboot

fi

讲一讲脚本做的事情吧

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

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

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

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

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

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

总结

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值