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的环境变量, 那么需要先删除这些配置,然后重新写入。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
linux装go环境脚本,linux中用shell快速安装配置Go语言的开发环境相关推荐
- java opencv 开发环境_在IntelliJ IDEA 13中配置OpenCV的Java开发环境
准备工作: 下载IDEA 13(这里以版本13为例,后面简称IDEA): 下载Java JDK(用于配置基本的Java开发环境): 下载OpenCV 2.4.9(这里以版本2.4.9为例,据这篇文章说 ...
- 安装配置Android Studio集成开发环境详细安装教程
文章目录 一.Android Studio概述 二.下载Android Studio 三.安装Android Studio (一)进入安装向导 (二)选择安装组件 (三)选择安装位置 (四)选择开始菜 ...
- java大佬是如何快速配置IntelliJ IDEA的Tomcat及安装配置Tomcat及java开发环境
孙叫兽,前端全栈工程师,java工程师.编译器及工具可以在主页QQ群群文件获取. JDK 可以到官网下载:http://www.oracle.com/technetwork/java/javase/d ...
- 安装配置Android Studio集成开发环境
文章目录 一.Android Studio概述 二.下载Android Studio 三.安装Android Studio (一)进入安装向导 (二)选择安装组件 (三)选择安装位置 (四)选择开始菜 ...
- 1.1安装配置Android Studio集成开发环境
1.下载Android Studio Download Android Studio & App Tools - Android Developers 单击[Download Android ...
- Ubuntu Linux 安装后,建立嵌入式开发环境
Ubuntu Linux 安装后,建立嵌入式开发环境 from:http://xfenglin.com/a/12001485885.html 浏览: 10 发布日期: 2016-08-17 分类: u ...
- RedHat 系列 Linux 安装后,建立嵌入式开发环境
RedHat 系列 Linux 安装后,建立嵌入式开发环境 from:https://segmentfault.com/a/1190000005881355 做开发的时候,经常为了某系列的项目,专门就 ...
- Linux与云计算——第二阶段Linux服务器架设 第八章:FTP服务器架设—安装配置FTP服务和客户端配置...
Linux与云计算--第二阶段Linux服务器架设 第八章:FTP服务器架设-安装配置FTP服务和客户端配置 安装Vsftpd [1] 安装并配置Vsftpd. [root@server ~]# yu ...
- linux计算服务器配置,Linux与云计算——第二阶段Linux服务器架设 第八章:FTP服务器架设—安装配置FTP服务和客户端配置...
Linux与云计算--第二阶段Linux服务器架设 第八章:FTP服务器架设-安装配置FTP服务和客户端配置 安装Vsftpd [1]安装并配置Vsftpd. [root@server ~]# yum ...
- egret与php相连,JavaScript_Mac OS X 系统下安装和部署Egret引擎开发环境, 概述
Egret基于TypeScript开 - phpStudy...
Mac OS X 系统下安装和部署Egret引擎开发环境 概述 Egret基于TypeScript开发的,而TypeScript编译工具tsc是基于Node.js开发的.所以在安装过程中,我们先需要对 ...
最新文章
- 京沪深月薪均超2万元,清华近三成毕业生年入50万+ | 2019上半年中高端人才就业现状报告...
- 选择排序-直接选择排序
- ctypes python3.7_装新的python3.7时ModuleNotFoundError: No module named '_ctypes'
- [C/C++]BKDRHash
- 《C++语言入门经典》一第3章 重要的逻辑工具——判断与循环 3.1 条件判断...
- 谁来结束 GUI 程序?| CSDN 博文精选
- 滚动吸顶效果--四种方式实现
- echarts 模拟迁徙
- IOS UIView直接响应点击事件的解决方法
- java实现分布式项目搭建
- 六、假设检验:使用Python进行两个正态总体均值的假设检验
- 关于微信投票刷票的js代码
- Proxmox VE 7.2 更改登录横幅
- Java——重写hashCode()和euqals()方法
- 正则啊啊 啊啊啊啊啊啊 啊
- unity3d 批量替换模型材质的脚本 一键替换模型及子物体材质
- 码流 /码率 / 比特率
- LODOP 将多张图片拼接打印到同一张纸
- Python 获取EXSI宿主机上虚拟机数据
- shared_from_this的使用