Skip to content

Commit 61b41e8

Browse files
committed
add library
1 parent 575b328 commit 61b41e8

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed

shell/library.sh

+98
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,104 @@ func_ipv4_addr(){
577577
echo $ips
578578
}
579579

580+
# Get OS information
581+
get_os_name () {
582+
583+
centos_flavor="centos"
584+
585+
# Use lsb_release if possible
586+
if command -V lsb_release > /dev/null 2>&1; then
587+
os=`lsb_release -is | tr '[:upper:]' '[:lower:]'`
588+
codename=`lsb_release -cs | tr '[:upper:]' '[:lower:]'`
589+
release=`lsb_release -rs | sed 's/\..*$//'`
590+
591+
if [ "$os" = "redhatenterpriseserver" -o "$os" = "oracleserver" ]; then
592+
os="centos"
593+
centos_flavor="red hat linux"
594+
fi
595+
# Otherwise it's getting a little bit more tricky
596+
else
597+
if ! ls /etc/*-release > /dev/null 2>&1; then
598+
os=`uname -s | \
599+
tr '[:upper:]' '[:lower:]'`
600+
else
601+
os=`cat /etc/*-release | grep '^ID=' | \
602+
sed 's/^ID=["]*\([a-zA-Z]*\).*$/\1/' | \
603+
tr '[:upper:]' '[:lower:]'`
604+
605+
if [ -z "$os" ]; then
606+
if grep -i "oracle linux" /etc/*-release > /dev/null 2>&1 || \
607+
grep -i "red hat" /etc/*-release > /dev/null 2>&1; then
608+
os="rhel"
609+
else
610+
if grep -i "centos" /etc/*-release > /dev/null 2>&1; then
611+
os="centos"
612+
else
613+
os="linux"
614+
fi
615+
fi
616+
fi
617+
fi
618+
619+
case "$os" in
620+
ubuntu)
621+
codename=`cat /etc/*-release | grep '^DISTRIB_CODENAME' | \
622+
sed 's/^[^=]*=\([^=]*\)/\1/' | \
623+
tr '[:upper:]' '[:lower:]'`
624+
;;
625+
debian)
626+
codename=`cat /etc/*-release | grep '^VERSION=' | \
627+
sed 's/.*(\(.*\)).*/\1/' | \
628+
tr '[:upper:]' '[:lower:]'`
629+
;;
630+
centos)
631+
codename=`cat /etc/*-release | grep -i 'centos.*(' | \
632+
sed 's/.*(\(.*\)).*/\1/' | head -1 | \
633+
tr '[:upper:]' '[:lower:]'`
634+
# For CentOS grab release
635+
release=`cat /etc/*-release | grep -i 'centos.*[0-9]' | \
636+
sed 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/' | head -1`
637+
;;
638+
rhel|ol)
639+
codename=`cat /etc/*-release | grep -i 'red hat.*(' | \
640+
sed 's/.*(\(.*\)).*/\1/' | head -1 | \
641+
tr '[:upper:]' '[:lower:]'`
642+
# For Red Hat also grab release
643+
release=`cat /etc/*-release | grep -i 'red hat.*[0-9]' | \
644+
sed 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/' | head -1`
645+
646+
if [ -z "$release" ]; then
647+
release=`cat /etc/*-release | grep -i '^VERSION_ID=' | \
648+
sed 's/^[^0-9]*\([0-9][0-9]*\).*$/\1/' | head -1`
649+
fi
650+
651+
os="centos"
652+
centos_flavor="red hat linux"
653+
;;
654+
amzn)
655+
codename="amazon-linux-ami"
656+
release_amzn=`cat /etc/*-release | grep -i 'amazon.*[0-9]' | \
657+
sed 's/^[^0-9]*\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/' | \
658+
head -1`
659+
660+
amzn=`rpm --eval "%{amzn}"`
661+
if [ ${amzn} == 1 ]; then
662+
release="latest"
663+
else
664+
release=${amzn}
665+
fi
666+
667+
os="amzn"
668+
centos_flavor="amazon linux"
669+
;;
670+
*)
671+
codename=""
672+
release=""
673+
;;
674+
esac
675+
fi
676+
}
677+
580678

581679
###############################################################################
582680
# #

0 commit comments

Comments
 (0)