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/ksh
export 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.";;
esac
echo "Done."
exit 0
UPDATE
The 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 $USERNAME
Linux /usr/bin/passwd -u $USERNAME
Through 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"?
AIX commands
andLinux commands
are very similar, it may make sense to put them in the same script with some extra code to handle the differences. IfAIX commands
andLinux commands
are completely different, it may make more sense to have two different versions of the script.