Linux下安装go

解压

tar -zxvf go1.13.4.linux-amd64.tar.gz

配置环境

vi /etc/profile

export GOROOT=/home/go
export GOPATH=/home/gopath
export PATH=PATH:GOROOT/bin:$GOPATH/bin


> ```bash
> source /etc/profile
> ```

## 查看

* 任意目录运行查看版本:

~~~json
go version

脚本自动安装

#!/bin/bash
#定义安装变量
install_version='go1.14.3.linux-amd64-1.tar.gz'
file_path='/home/upload/go/'
install_path='/home/'
# go 环境变量
GOROOT=/home/go
GOPATH=/home/gopath
# 打印自定义的变量
echo 'required version:' $install_version
echo 'required install-file path:' $file_path
echo 'go install path:' $install_path
echo 'GOROOT:' $GOROOT
echo 'GOPATH:' $GOPATH
sleep 2
# 安装说明
echo '安装开始前请您详细阅读以下内容,否则可能会导致安装失败'
sleep 2
echo -e '此脚本安装' $install_version '版本 \n如果您的系统版本使用CentOS 7 系统,所需安装包为'$install_version
sleep 2
echo '安装开始前,请将压缩包放到' $file_path '目录,否则脚本不会继续运行'
sleep 2
# 判断当前系统版本 此脚本适用于centos7系统
echo '正在检测运行环境...'
sleep 2s
RHversion=`cat /etc/redhat-release |awk '{match($0,"release")
print substr($0,RSTART+RLENGTH)}'  | awk -F '.' '{print $1}'`
echo "您使用的系统版本为CentOS $RHversion"
sleep 1
# 判断是否有安装go
echo '正在检测go版本'
sleep 2
GoVer=`go version |awk '{match($0,"go")
print substr($0,RSTART+RLENGTH)}' `
GoVerRNum=`go version |awk '{match($0,"go")
print substr($0,RSTART+RLENGTH)}' |wc -l `
if [ $GoVerRNum -ne 0 ];then
 echo "go已存在,版本为:$GoVer"
   exit 1
else 
 echo "检测结果:未安装go"
fi
# 判断当前用户是否是root
    echo '正在检测用户是否为root'
    sleep 2
    user=${USER}
    if [ "$user" != root ];then
        echo "当前用户不为root,正在退出..."
        exit 1
    fi

# 判断安装文件是否存在
  echo '检测是否有go压缩包...'
    sleep 2
    cd $file_path
    if [ -f $install_version ];then
        echo '文件存在'
        sleep 2
    else
        echo '您没有上传指定的' $install_version '压缩包或不在指定位置,文件上传位置为' $file_path
            exit 1
    fi
# 解压安装
echo '正在解压.....'
    sleep 2
    cd $file_path
    tar -zxvf $file_path$install_version -C $install_path
    sleep 1
# 环境配置
echo '环境配置....'
sleep 2
cat <<EOF >/etc/profile.d/goroot.sh
export GOROOT=$GOROOT
export GOPATH=$GOPATH
export PATH=\$PATH:$GOROOT/bin:$GOPATH/bin
EOF
source /etc/profile
# 输出版本
sleep 2
echo 'go version'
go version
sleep 1
exit 1