如何在linux中使用shell安装Go语言开发环境
这篇文章将为大家详细讲解有关如何在linux中使用shell安装Go语言开发环境,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
Go语言的安装步骤
下载安装包go1.7.linux-amd64.tar.gz
解压文件到指定目录: tar -zxf go1.7.linux-amd64.tar.gz
设置环境变量:GOROOT
, GOPATH
, PATH
既然我们可以列出这些步骤,那么便可以将整个过程自动化。
下面是安装脚本
#!/bin/bash #Upgradegoversionto1.7 #wgethttps://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gzgo1.7.tar.gz functioninfo(){ echo-e"\033[1;34m$1\033[0m" } functionwarn(){ echo-e"\033[0;33m$1\033[0m" } functionerror(){ echo-e"\033[0;31m$1\033[0m" } functionusage(){ info"Upgradeorinstallgolang..." info"USAGE:" info"./upgrade.shtar_filegopath" info"tar_filespecifywhereisthetarfileofgobinaryfile" info"gopathspecifywhereisthegoworkspace,includesrc,bin,pkgfolder" } functioncreateGoPath(){ 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 exit1 fi file=$1 if[!-f$file]; then error"${file}notexist..." exit1 fi unzipPath="`pwd`/tmp_unzip_path/" info$unzipPath if[!-d$unzipPath]; then info"notexist" mkdir$unzipPath fi tar-zxf$file-C$unzipPath goroot=$GOROOT if[!-n$GOROOT]; then warn"Usedefaultgoroot/usr/local/go" goroot="/usr/local/go" fi gopath=$2 info"Creategoworkspace,includesrc,bin,pkgfolder..." if[-z$2]; then user=`whoami` gopath="/home/$user/workspace/golang" warn"Use$gopathasgolangworkspace..." if[!-d$gopath]; then mkdir-p$gopath fi fi createGoPath$gopath info"Copygounzipfilesto$goroot" sudocp-r"$unzipPath/go"$goroot rm-rf$unzipPath #etcProfile="/home/user/Desktop/etc" etcProfile="/etc/profile" exportGoroot="exportGOROOT=$goroot" if[!-z$GOROOT]; then cat$etcProfile|sed's/^export.GOROOT.*//'|sudotee$etcProfile>/dev/null fi echo$exportGoroot|sudotee-a$etcProfile exportGopath="exportGOROOT=$gopath" if[!-z$GOPATH]; then cat$etcProfile|sed's/^export.GOPATH.*//'|sudotee$etcProfile>/dev/null fi echo"exportGOPATH=$gopath"|sudotee-a$etcProfile echo'exportPATH=$GOROOT/bin:$GOPATH/bin:$PATH'|sudotee-a$etcProfile ###Replacemultipleemptylineswithoneemptyline cat$etcProfile-s|sudotee$etcProfile>/dev/null info"Tomakeconfigurationtakeeffect,willreboot,plsenter[y/n]" read-p"[y/n]"isReboot if[$isReboot="y"]; then sudoreboot fi
讲一讲脚本做的事情吧
1、脚本要求输入编译好的安装包,这里本来是可以做成直接下载的, 但是考虑到大多数人是无法连接到golang的官网的,因此放弃了这一步。
2、解压文件到指定的目录, 默认为/usr/local/go
, 也可以通过运行时指定
3、在GOPATH下面创建3个文件夹: src, bin, pkg, GOPATH可以运行时指定,默认为/home/{user}/workspace/golang
4、设置环境变量: $GOPATH
, $GOROOT
5、重启服务,使对/etc/profile
的修改生效
关于如何在linux中使用shell安装Go语言开发环境就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
推荐阅读
-
linux怎么搭建ftp服务器(linux ftp命令)
linuxftp命令?很欢喜问本问题,此观点祝你好运吧!再连接ftp服务器。格式:ftp[hostname|ip-address...
-
linux怎么调出屏幕键盘(linux | 怎么打出来,管道符号怎么打)
linux|怎么打出来,管道符号怎么打?楼主,你好!“|”这个符号在linux环境称做“管道符”框输入方法:Shift键盘的“...
-
linux系统生成core文件(linux udp缓存配置)
linuxudp缓存配置?临时再添加:sysctl-w_max26214400无限制再添加:将以下行添加到中:_max26214...
-
linux Centos如何安装PHP7
linuxCentos如何安装PHP7今天小编给大家分享一下li...
-
干了10多年的php,还不会安装,是不是丢人
-
Linux编程的十大代码编辑器新鲜出炉,你用的入榜单了吗?
-
从7到8,CentOS又更新了什么
-
PHP程序员的技术成长规划-基础阶段篇
-
Linux curl命令
Linuxcurl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但...
-
CentOS和RedHat下8个最常用的YUM库