介绍

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的环境变量, 那么需要先删除这些配置,然后重新写入。

总结

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

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

  1. java opencv 开发环境_在IntelliJ IDEA 13中配置OpenCV的Java开发环境

    准备工作: 下载IDEA 13(这里以版本13为例,后面简称IDEA): 下载Java JDK(用于配置基本的Java开发环境): 下载OpenCV 2.4.9(这里以版本2.4.9为例,据这篇文章说 ...

  2. 安装配置Android Studio集成开发环境详细安装教程

    文章目录 一.Android Studio概述 二.下载Android Studio 三.安装Android Studio (一)进入安装向导 (二)选择安装组件 (三)选择安装位置 (四)选择开始菜 ...

  3. java大佬是如何快速配置IntelliJ IDEA的Tomcat及安装配置Tomcat及java开发环境

    孙叫兽,前端全栈工程师,java工程师.编译器及工具可以在主页QQ群群文件获取. JDK 可以到官网下载:http://www.oracle.com/technetwork/java/javase/d ...

  4. 安装配置Android Studio集成开发环境

    文章目录 一.Android Studio概述 二.下载Android Studio 三.安装Android Studio (一)进入安装向导 (二)选择安装组件 (三)选择安装位置 (四)选择开始菜 ...

  5. 1.1安装配置Android Studio集成开发环境

    1.下载Android Studio Download Android Studio & App Tools - Android Developers 单击[Download Android ...

  6. Ubuntu Linux 安装后,建立嵌入式开发环境

    Ubuntu Linux 安装后,建立嵌入式开发环境 from:http://xfenglin.com/a/12001485885.html 浏览: 10 发布日期: 2016-08-17 分类: u ...

  7. RedHat 系列 Linux 安装后,建立嵌入式开发环境

    RedHat 系列 Linux 安装后,建立嵌入式开发环境 from:https://segmentfault.com/a/1190000005881355 做开发的时候,经常为了某系列的项目,专门就 ...

  8. Linux与云计算——第二阶段Linux服务器架设 第八章:FTP服务器架设—安装配置FTP服务和客户端配置...

    Linux与云计算--第二阶段Linux服务器架设 第八章:FTP服务器架设-安装配置FTP服务和客户端配置 安装Vsftpd [1] 安装并配置Vsftpd. [root@server ~]# yu ...

  9. linux计算服务器配置,Linux与云计算——第二阶段Linux服务器架设 第八章:FTP服务器架设—安装配置FTP服务和客户端配置...

    Linux与云计算--第二阶段Linux服务器架设 第八章:FTP服务器架设-安装配置FTP服务和客户端配置 安装Vsftpd [1]安装并配置Vsftpd. [root@server ~]# yum ...

  10. egret与php相连,JavaScript_Mac OS X 系统下安装和部署Egret引擎开发环境, 概述 Egret基于TypeScript开 - phpStudy...

    Mac OS X 系统下安装和部署Egret引擎开发环境 概述 Egret基于TypeScript开发的,而TypeScript编译工具tsc是基于Node.js开发的.所以在安装过程中,我们先需要对 ...

最新文章

  1. 京沪深月薪均超2万元,清华近三成毕业生年入50万+ | 2019上半年中高端人才就业现状报告...
  2. 选择排序-直接选择排序
  3. ctypes python3.7_装新的python3.7时ModuleNotFoundError: No module named '_ctypes'
  4. [C/C++]BKDRHash
  5. 《C++语言入门经典》一第3章 重要的逻辑工具——判断与循环 3.1 条件判断...
  6. 谁来结束 GUI 程序?| CSDN 博文精选
  7. 滚动吸顶效果--四种方式实现
  8. echarts 模拟迁徙
  9. IOS UIView直接响应点击事件的解决方法
  10. java实现分布式项目搭建
  11. 六、假设检验:使用Python进行两个正态总体均值的假设检验
  12. 关于微信投票刷票的js代码
  13. Proxmox VE 7.2 更改登录横幅
  14. Java——重写hashCode()和euqals()方法
  15. 正则啊啊 啊啊啊啊啊啊 啊
  16. unity3d 批量替换模型材质的脚本 一键替换模型及子物体材质
  17. 码流 /码率 / 比特率
  18. LODOP 将多张图片拼接打印到同一张纸
  19. Python 获取EXSI宿主机上虚拟机数据
  20. shared_from_this的使用

热门文章

  1. JAVA类集浅谈之一
  2. 20.Linux/Unix 系统编程手册(上) -- 信号:基本概念
  3. 6. 卷2(进程间通信)---System V 消息队列
  4. 22. DOM 简介
  5. 22. Element lang 属性
  6. 4. Javascript 函数
  7. 常见的几种数组排序方法
  8. 【Luogu】P1972HH的项链(链表+树状数组)
  9. Day 14 python 之 字符串练习
  10. loadrunner具体实例教你如何进行结果分析