diff --git a/x-ui.sh b/x-ui.sh index 8fdde3b0..e7b93975 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -21,33 +21,30 @@ function LOGI() { [[ $EUID -ne 0 ]] && LOGE "ERROR: You must be root to run this script! \n" && exit 1 # check os -if [[ -f /etc/redhat-release ]]; then - release="centos" -elif cat /etc/issue | grep -Eqi "debian"; then +if cat /etc/issue | grep -Eqi "debian"; then release="debian" elif cat /etc/issue | grep -Eqi "ubuntu"; then release="ubuntu" -elif cat /etc/issue | grep -Eqi "centos|red hat|redhat"; then +elif cat /etc/issue | grep -Eqi "centos"; then release="centos" +elif cat /etc/issue | grep -Eqi "fedora"; then + release="fedora" elif cat /proc/version | grep -Eqi "debian"; then release="debian" elif cat /proc/version | grep -Eqi "ubuntu"; then release="ubuntu" -elif cat /proc/version | grep -Eqi "centos|red hat|redhat"; then +elif cat /proc/version | grep -Eqi "centos"; then release="centos" +elif cat /proc/version | grep -Eqi "fedora"; then + release="fedora" else LOGE "check system OS failed,please contact with author! \n" && exit 1 fi -os_version="" -# os version -if [[ -f /etc/os-release ]]; then - os_version=$(awk -F'[= ."]' '/VERSION_ID/{print $3}' /etc/os-release) -fi -if [[ -z "$os_version" && -f /etc/lsb-release ]]; then - os_version=$(awk -F'[= ."]+' '/DISTRIB_RELEASE/{print $2}' /etc/lsb-release) -fi +os_version="" +os_version=$(grep -i version_id /etc/os-release | cut -d \" -f2 | cut -d . -f1) + if [[ x"${release}" == x"centos" ]]; then if [[ ${os_version} -le 6 ]]; then @@ -57,6 +54,12 @@ elif [[ x"${release}" == x"ubuntu" ]]; then if [[ ${os_version} -lt 16 ]]; then LOGE "please use Ubuntu 16 or higher version!\n" && exit 1 fi + +elif [[ x"${release}" == x"fedora" ]]; then + if [[ ${os_version} -lt 29 ]]; then + LOGE "please use Fedora 29 or higher version!\n" && exit 1 + fi + elif [[ x"${release}" == x"debian" ]]; then if [[ ${os_version} -lt 8 ]]; then LOGE "please use Debian 8 or higher version!\n" && exit 1