The commands we use in that script should be POSIX compliant, so i would expect it to work with any sh-based interpreter (including bash). If you have another interpreter available (sh, ksh, etc.) you could try one of those.
I think that post's title is misleading. He seems to be saying that on Solaris 10 the default /bin/sh interpreter is actually the original Bourne Shell and therefore does support the expanded functionality (included in bash) which they use in their scripts. A very similar problem prompted us to rewrite our shell scripts to be POSIX-compliant.
That said, if the script is being run using "./upgrade.sh" it will use the default interpreter, whatever that may be. This link provides some details on how to determine which shell you're running by default and how to configure it. Additionally, you can run a shell script with a particular interpreter by running the command as "/path/to/interpreter /path/to/upgrade.sh".
In the interest of identifying the crux of the issue here, can you post the exact versions of KSH used on each system? We would like to better articulate the supported interpreters in the Platform Support Guide. Thanks!
I suggest you confirm with Oracle to see if that version is POSIX certified (normally requiring passing some automatic tests). Oracle is pretty weak in sharing those information publically (versus IBM) - I do not have access to its support site (your Solaris admin should have). From what I read, Solaris 11 is POSIX certified, which implies it may not be the case for Solaris 10.
Root cause has been identified.After changing the upgrade.sh header to #!/bin/ksh script ran in solaris ksh.That means in AIX, /bin/sh == /bin/ksh and In Solaris, /bin/sh != /bin/ksh.Pega instruction document has to be updated with this information.