I have two servers one AIX with default shell ksh, the other RHEL with default shell bash.I have a script that is mounted on both that will run similar commands but for either AIX or Linux. This script does not work on the bash servers, is there a way to make this script run on both bash and ksh, or would the best option be to create two different scripts?#!/usr/bin/kshexport OS=`uname -s`echo OS is $OS.case $OS in        AIX)                #run AIX commands;;        Linux)                #run Linux commands;;        *)                echo Exiting. The OS type is not found.;;esacecho Done.exit 0UPDATEThe commands I need to run are for user accounts on each server. An example of unlocking an account. AIX/usr/bin/chuser account_locked=false $USERNAMELinux/usr/bin/passwd -u $USERNAMEThrough further investigation I have found that the the shells location in AIX are located at /usr/bin/sh, while Redhat's are located at /bin/sh.Can I define the shebang based on the results of uname?
Run a script on multiple shells?
bash;rhel;scripting;ksh;aix
It would probably be easier to have two separate versions of the script. Since it is short it may not be worth adding extra code to handle the differences between the two formats as jw013 suggested. On the other hand if you had a larger script it would probably be easier to have one and make the script execute different commands depending on where it is running from.