Ksh

Korn shell - ksh 
 if-then 
 if [[ -e /usr/opt/rpm/bin/rpm ]]
then
 RPM_CMD="/usr/opt/rpm/bin/rpm"
else
 RPM_CMD="/usr/bin/rpm"
fi

# Check if we are running this as the root user.
if [[ "$(/usr/bin/id -u)" != "0" ]]
then
 echo "This script must be run as root."
 exit 1
fi 
 Check AIX Version 
 # First check the AIX version.
oslvl=`/usr/bin/oslevel`
aix_ver=$(/usr/bin/lslpp -qLc bos.rte | /usr/bin/awk -F':' '{print $3}')
af1=$(echo $aix_ver | /usr/bin/cut -d"." -f1)
af2=$(echo $aix_ver | /usr/bin/cut -d"." -f2)
af3=$(echo $aix_ver | /usr/bin/cut -d"." -f3)
if [[ "$oslvl" = "7.1.0.0" ]]
then
 if [[ ( ! $af1 -ge 7 ) || ( ! $af2 -ge 1 ) || ( ! $af3 -ge 3 ) ]]
 then
 echo "dnf and dependencies can be installed on AIX 7.1.3 and higher versions."
 exit 1
 fi
else
 if [[ ( ! $af1 -ge 7 ) || ( ! $af2 -ge 1 ) ]]
 then
 echo "dnf and dependencies can be installed on AIX 7.1.3 and higher versions."
 exit 1
 fi
fi 
 Help 
 prog=${0##*/}
usage() {
 print >&2 "Usage: $prog <-d> <-y> <-n> -?

 -d Install and setup dnf if yum is not installed.
 yum command will not be available only dnf command can be used. 
 -y Installs dnf, and updates yum3 to dnf yum4 if yum3 is installed.
 If no yum3 is installed then dnf and yum4 will be installed.
 yum command will also be available along with dnf.
 -n Install dnf where both yum and dnf can coexist if yum is installed already.
 This is not a recommended option."
 exit 1
}

if [[ $# -ne 1 ]]
then
 usage
 exit 1
fi 
 Check disk space for /tmp 
 oslvl=`/usr/bin/oslevel`
aix_730_plus=0
os_f1=$(echo $oslvl | /usr/bin/cut -d"." -f1)
os_f2=$(echo $oslvl | /usr/bin/cut -d"." -f2)
os_f3=$(echo $oslvl | /usr/bin/cut -d"." -f3)
os_f4=$(echo $oslvl | /usr/bin/cut -d"." -f4)
if [[ ( $os_f1 -ge 7 ) && ( $os_f2 -ge 3 ) && ( $os_f3 -ge 0 ) && ( $os_f4 -ge 0 ) ]]
then
 aix_730_plus=1
fi 

aix_715_prior=0
oslvl_tl=`/usr/bin/lslpp -qLc bos.rte | /usr/bin/cut -d: -f3`
os_f1=$(echo $oslvl_tl | /usr/bin/cut -d"." -f1)
os_f2=$(echo $oslvl_tl | /usr/bin/cut -d"." -f2)
os_f3=$(echo $oslvl_tl | /usr/bin/cut -d"." -f3)
if [[ ( $os_f1 -eq 7 ) && ( $os_f2 -eq 1 ) && ( $os_f3 -lt 5 ) ]]
then
 aix_715_prior=1
fi

# Check if /tmp has enough space to download rpm.rte & dnf_bundle
# and size for extracting rpm packages.

if [[ $aix_730_plus -eq 1 ]]
then
 typeset -i total_req=`echo "(512)" | bc`
 tmp_free=`/usr/bin/df -m /tmp | /usr/bin/sed -e /Filesystem/d | /usr/bin/awk '{print $3}'`
 if [[ $tmp_free -le $total_req ]]
 then
 echo "Please make sure /tmp has around 512MB of free space to download and"
 echo "extract files from dnf_bundle."
 exit 1
 fi
else
 typeset -i total_req=`echo "(512)" | bc`
 tmp_free=`/usr/bin/df -m /tmp | /usr/bin/sed -e /Filesystem/d | /usr/bin/awk '{print $3}'`
 if [[ $tmp_free -le $total_req ]]
 then
 echo "Please make sure /tmp has around 512MB of free space to download and"
 echo "extract files from dnf_bundle."
 exit 1
 fi
fi 
 Download with ftp and perl 
 if [[ $aix_715_prior -eq 1 ]]
then
 echo "Attempting download of dnf_bundle_aix_71_72.tar ..."
 username="anonymous"
 userpassword="anonymous"

 /usr/bin/expect <<DNFEOF
 log_user 0
 set timeout -1
 spawn ftp -s public.dhe.ibm.com
 expect "Name (public.dhe.ibm.com:*): "
 send "$username\r"
 expect "Password:"
 send "$userpassword\r"
 expect "ftp>"
 send "lcd $tmppath\r"
 expect "ftp>"
 send "bin\r"
 expect "ftp>"
 send "passive\r"
 expect "ftp>"
 send "cd aix/freeSoftware/aixtoolbox/ezinstall/ppc\r"
 expect "ftp>"
 send "get dnf_bundle_aix_71_72.tar\r"
 expect "ftp>"
 send "bye\r"
 expect eof
DNFEOF
 if [[ ! -e dnf_bundle_aix_71_72.tar ]]
 then
 echo "Failed to download dnf_bundle_aix_71_72.tar."
 cd - >/dev/null 2>&1
 rm -rf $tmppath
 exit 1
 fi 
elif [[ $aix_730_plus -eq 1 ]]
then
 echo "Attempting download of dnf_bundle_aix_73.tar ..."
 export PERL_LWP_SSL_VERIFY_HOSTNAME=0
 LDR_CNTRL=MAXDATA=0x80000000@DSA /usr/opt/perl5/bin/lwp-download https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/ezinstall/ppc/dnf_bundle_aix_73.tar
 if [[ $? -ne 0 ]]
 then
 echo "Failed to download dnf_bundle_aix_73.tar"
 cd - >/dev/null 2>&1
 rm -rf $tmppath
 exit 1
 fi

 # Do this once rpm.rte for 730 is available on AIX Toolbox.
 #/usr/opt/perl5/bin/lwp-download http://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/INSTALLP/ppc/rpm.rte
 #if [[ $? -ne 0 ]]
 #then
 # echo "Failed to download rpm.rte"
 # exit 1
 #fi
else
 echo "Attempting download of dnf_bundle_aix_71_72.tar ..."
 LDR_CNTRL=MAXDATA=0x80000000@DSA /usr/opt/perl5/bin/lwp-download https://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/ezinstall/ppc/dnf_bundle_aix_71_72.tar
 if [[ $? -ne 0 ]]
 then
 echo "Failed to download dnf_bundle_aix_71_72.tar"
 cd - >/dev/null 2>&1
 rm -rf $tmppath
 exit 1
 fi 
 #/usr/opt/perl5/bin/lwp-download http://public.dhe.ibm.com/aix/freeSoftware/aixtoolbox/INSTALLP/ppc/rpm.rte
 # if [[ $? -ne 0 ]]
 # then
 # echo "Failed to download rpm.rte"
 # exit 1
 # elif [[ -e rpm.rte.txt ]]
 # then
 # /usr/bin/mv rpm.rte.txt rpm.rte
 # fi
fi
#end of perl download 
 Check if running as root 
 # Check if we are running this as the root user.
if [[ "$(/usr/bin/id -u)" != "0" ]]
then
 echo "This script must be run as root."
 exit 1
fi