From eca16450e31b77aa3f64fd9d1eeec484c8e15345 Mon Sep 17 00:00:00 2001 From: Teddysun Date: Mon, 12 Sep 2016 16:00:58 +0900 Subject: [PATCH] update comment --- shadowsocks-libev.sh | 78 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 67 insertions(+), 11 deletions(-) diff --git a/shadowsocks-libev.sh b/shadowsocks-libev.sh index 63f8897..17d4f8b 100644 --- a/shadowsocks-libev.sh +++ b/shadowsocks-libev.sh @@ -30,25 +30,75 @@ if [[ $EUID -ne 0 ]]; then fi } +#Check system +check_sys(){ + local checkType=$1 + local value=$2 + + local release='' + local systemPackage='' + + if [[ -f /etc/redhat-release ]]; then + release="centos" + systemPackage="yum" + elif cat /etc/issue | grep -q -E -i "debian"; then + release="debian" + systemPackage="apt" + elif cat /etc/issue | grep -q -E -i "ubuntu"; then + release="ubuntu" + systemPackage="apt" + elif cat /etc/issue | grep -q -E -i "centos|red hat|redhat"; then + release="centos" + systemPackage="yum" + elif cat /proc/version | grep -q -E -i "debian"; then + release="debian" + systemPackage="apt" + elif cat /proc/version | grep -q -E -i "ubuntu"; then + release="ubuntu" + systemPackage="apt" + elif cat /proc/version | grep -q -E -i "centos|red hat|redhat"; then + release="centos" + systemPackage="yum" + fi + + if [[ ${checkType} == "sysRelease" ]]; then + if [ "$value" == "$release" ]; then + return 0 + else + return 1 + fi + elif [[ ${checkType} == "packageManager" ]]; then + if [ "$value" == "$systemPackage" ]; then + return 0 + else + return 1 + fi + fi +} + # Get version getversion(){ if [[ -s /etc/redhat-release ]];then grep -oE "[0-9.]+" /etc/redhat-release - else + else grep -oE "[0-9.]+" /etc/issue - fi + fi } # CentOS version centosversion(){ - local code=$1 - local version="`getversion`" - local main_ver=${version%%.*} - if [ $main_ver == $code ];then - return 0 + if check_sys sysRelease centos; then + local code=$1 + local version="$(getversion)" + local main_ver=${version%%.*} + if [ "$main_ver" == "$code" ];then + return 0 + else + return 1 + fi else return 1 - fi + fi } # Disable selinux @@ -68,9 +118,15 @@ get_ip(){ # Pre-installation settings pre_install(){ - # Not support CentOS 5 - if centosversion 5; then - echo "Not support CentOS 5, please change to CentOS 6 or 7 and try again." + # Check OS system + if check_sys sysRelease centos; then + # Not support CentOS 5 + if centosversion 5; then + echo "Not support CentOS 5, please change to CentOS 6 or 7 and try again." + exit 1 + fi + else + echo "Error: Your OS is not supported to run it! Please change OS to CentOS and try again." exit 1 fi #Set shadowsocks-libev config password