Skip to content

Instantly share code, notes, and snippets.

@pleasemarkdarkly
Last active November 20, 2020 19:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pleasemarkdarkly/5085d10381dde8c21300d65649b9d147 to your computer and use it in GitHub Desktop.
Save pleasemarkdarkly/5085d10381dde8c21300d65649b9d147 to your computer and use it in GitHub Desktop.
#!/bin/bash
# arch https://gist.github.com/474ec0f11836892aacb9e51026f582a2
# https://gist.github.com/5085d10381dde8c21300d65649b9d147
function getSystemInfo(){
wget -O -https://bit.ly/31UIrbw | bash
echo "Environment varables: OS, KERNEL, MACH set"
}
function lowercase(){
echo "$1" | sed "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/"
}
OS=`lowercase \`uname\``
KERNEL=`uname -r`
MACH=`uname -m`
function install_ansible_ubuntu () {
sudo apt update
sudo apt install software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt install ansible
}
function install_ansible_ubuntu_arm () {
sudo apt update
sudo apt install software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt install ansible
}
function install_ansible_macos() {
brew install ansible
}
function install_ansible_python(){
sudo pip install ansible
}
if [ "{$OS}" == "windowsnt" ]; then
OS=windows
elif [ "{$OS}" == "darwin" ]; then
OS=mac
else
OS=`uname`
if [ "${OS}" = "SunOS" ] ; then
OS=Solaris
ARCH=`uname -p`
OSSTR="${OS} ${REV}(${ARCH} `uname -v`)"
elif [ "${OS}" = "AIX" ] ; then
OSSTR="${OS} `oslevel` (`oslevel -r`)"
elif [ "${OS}" = "Linux" ] ; then
if [ -f /etc/redhat-release ] ; then
DistroBasedOn='RedHat'
DIST=`cat /etc/redhat-release |sed s/\ release.*//`
PSUEDONAME=`cat /etc/redhat-release | sed s/.*\(// | sed s/\)//`
REV=`cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*//`
elif [ -f /etc/SuSE-release ] ; then
DistroBasedOn='SuSe'
PSUEDONAME=`cat /etc/SuSE-release | tr "\n" ' '| sed s/VERSION.*//`
REV=`cat /etc/SuSE-release | tr "\n" ' ' | sed s/.*=\ //`
elif [ -f /etc/mandrake-release ] ; then
DistroBasedOn='Mandrake'
PSUEDONAME=`cat /etc/mandrake-release | sed s/.*\(// | sed s/\)//`
REV=`cat /etc/mandrake-release | sed s/.*release\ // | sed s/\ .*//`
elif [ -f /etc/debian_version ] ; then
DistroBasedOn='Debian'
DIST=`cat /etc/lsb-release | grep '^DISTRIB_ID' | awk -F= '{ print $2 }'`
PSUEDONAME=`cat /etc/lsb-release | grep '^DISTRIB_CODENAME' | awk -F= '{ print $2 }'`
REV=`cat /etc/lsb-release | grep '^DISTRIB_RELEASE' | awk -F= '{ print $2 }'`
fi
if [ -f /etc/UnitedLinux-release ] ; then
DIST="${DIST}[`cat /etc/UnitedLinux-release | tr "\n" ' ' | sed s/VERSION.*//`]"
fi
OS=`lowercase $OS`
DistroBasedOn=`lowercase $DistroBasedOn`
readonly OS
readonly DIST
readonly DistroBasedOn
readonly PSUEDONAME
readonly REV
readonly KERNEL
readonly MACH
fi
fi
function print_os_features () {
echo $OS
echo $KERNEL
echo $MACH
}
function main() {
if [ "$OS" == "Darwin" ]; then
install_ansible_macos
elif [ "$OS" == "Linux" ]; then
if [ "$MACH" == "arm64" ]; then
echo "arm64 version needed"
elif [ "$MACH" == "armhf" ]; then
echo "armhf version needed"
install_ansible_ubuntu_arm
elif [ "$MACH" == "x86_64" ]; then
install_ansible_ubuntu
fi
fi
}
print_os_features
main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment