1 Star 0 Fork 23

zhangbo36/openharmony_oneclick_env_init

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
check.sh 4.35 KB
一键复制 编辑 原始数据 按行查看 历史
mamingshuai 提交于 2021-07-31 14:49 . 增加获取系统版本脚本
#!/bin/bash
baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd)
# 初始化环境变量
source ${baseDirForScriptSelf}/source.sh
################## 必要条件检查 ##################
support_system_lists='''- Ubuntu18.04(已验证)
- Ubuntu20.04(未验证)
- WSL+Ubuntu18.04(未验证)
- WSL+Ubuntu20.04(已验证)'''
# 判断是不是Ubuntu
os_type=`lsb_release -i|awk '{print $NF}'|tr '[A-Z]' '[a-z]'`
if [ "X${os_type}" != "Xubuntu" -a "X${os_type}" != "Xdebian" ];then
echo """脚本仅支持:
${support_system_lists}
您当前系统类型: ${os_type}"""
exit 1
fi
# 判断是不是WSL
if [ -f /proc/version ];then
is_wsl_tmp=`cat /proc/version|grep -i Microsoft`
if [ "X${is_wsl_tmp}" == "X" ];then
# 不是wsl
is_wsl=false
else
is_wsl=true
if [ -f /etc/wsl.conf ];then
# 如果存在就认为设置过了,不检查内容
echo "WSL 文件系统已设置"
else
sudo touch /etc/wsl.conf
sudo chmod 755 /etc/wsl.conf
echo '''[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=111"
mountFsTab = true'''>/etc/wsl.conf
# 提醒重新登录终端
echo '您当前系统为WSL Ubuntu,为防止文件系统出现权限问题,已经自动配置,请您重启终端生效'
echo '请您重启终端生效'
echo '请您重启终端生效'
echo '请您重启终端生效'
echo '自动配置 配置文件:/etc/wsl.conf'
echo '如您需要回退配置,请重命名/删除 /etc/wsl.conf ,并重启终端生效'
exit
fi
fi
fi
# 判断OS版本号
os_version=`lsb_release -r|awk '{print $NF}'`
if [ "${os_type}${os_version}" != "ubuntu18.04" -a "${os_type}${os_version}" != "ubuntu20.04" -a "${os_type}${os_version}" != "debian9.0" ];then
echo """脚本仅支持:
${support_system_lists}
您当前系统: ${os_version}"""
check_line=$((LINENO+2))
echo "如您接受未知风险,强制使用此脚本,可以注释 $0 脚本的第 ${check_line} 行"
exit 1
fi
# 如果是debian系统,提示用户使用root安装sudo,并且给当前账号sudo权限,建议debian用户直接使用root账号执行
if [ "X${os_type}" == "Xdebian" ];then
exist_sudo=`which sudo`
if [ "X${exist_sudo}" == "X" ];then
echo "===============Warning================="
echo "您当前系统为: ${os_type} ${os_version},默认没有安装sudo命令"
echo "您当前执行账号为: ${os_user_name}"
echo "准备尝试安装sudo,安装过程可能需要您输入root口令"
echo "如您不清楚root口令,请咨询这台机器的管理员"
echo "======================================="
echo ' '
echo '''确认以上信息后,请按回车(Enter)后继续...'''
echo '''After confirming the above information, press Enter to continue...'''
read
su root -c 'apt-get install sudo'
if [ $? -gt 0 ];then echo 'sudo安装失败,脚本退出';exit 1;fi
fi
fi
# git用户信息检查
git_config_num=`git config -l|grep -E 'user.name|user.email'|wc -l`
if [ ${git_config_num} -lt 2 ];then
echo """Git用户信息未配置,请使用以下命令配置:
git config --global user.name \"git用户名\"
git config --global user.email \"git用户邮箱\"
配置后请重新执行 $0 脚本
"""
exit
fi
# 判断是否特定网络环境
unset http_proxy
unset https_proxy
is_huawei_tmp=`curl -I -m 10 -o /dev/null -s -w %{http_code} w3.huawei.com`
if [ "${is_huawei_tmp}" == "200" ];then
is_huawei=true
else
is_huawei=false
fi
if [ "${is_huawei}" == "true" ];then
echo "内网用户,跳过ssh检查"
else
# 检查用户机器与gitee.com是否已做ssh公钥配置
echo "准备检查与gitee.com的ssh联通性,如提示'.......continue connecting(yes/no)?',请您输入 yes"
echo ' '
ssh -T git@gitee.com
ssh_status=`ssh -T git@gitee.com 2>&1`
ssh_check_result=`echo "${ssh_status}"|grep successfully`
if [ "X${ssh_check_result}" == "X" ];then
echo "SSH公钥检查失败,请检查后重试|SSH check failed, Please check!"
echo "如何生成公钥请参照:https://gitee.com/help/articles/4181"
echo "如何注册公钥请参照:https://gitee.com/help/articles/4191"
exit 1
fi
fi
# 检查git是否需要重新安装
bash ${baseDirForScriptSelf}/install_git_with_openssl.sh
################## 必要条件检查完成 ##################
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhangbo36/openharmony_oneclick_env_init.git
git@gitee.com:zhangbo36/openharmony_oneclick_env_init.git
zhangbo36
openharmony_oneclick_env_init
openharmony_oneclick_env_init
master

搜索帮助