#!/usr/bin/ksh Command Interpreter in a sh script

Hi,

I have a developer that is trying to start a script with sh "scriptname". In the script, he is specifying #!/usr/bin/ksh as the command interpreter. For some reason sh is ignoring the #!/usr/bin/ksh. We are running Solaris 8. Does anyone have any ideas what could be causing this? Here is the script:

#!/usr/bin/ksh

#--create test file to read

#

echo "1" > test_file

echo "2" >> test_file

echo "3" >> test_file

#--WHILE READ should populate variables when shell contains #!/usr/bin/ksh

#

record_cnt=0

initial="OUTSIDE"

while read record ##--placed into $record

do

record_cnt=\`expr $record_cnt \+ 1\`

initial="INSIDE"

echo "Records Read=$record_cnt�

done < test_file ##--input file to be read

echo " "

echo "Records Read=$record_cnt"

echo "Initial=$initial"

exit 0

sh is ignoring it because it's a comment. Feeding a ksh script into sh like that is not the correct thing to do. But if you do it, sh will attempt to run it. Read our faq article on this subject.

Thanks, Perderabo. Can you post the link for the FAQ?

Here you go. But the FAQ is just a click away, why not look through the entire FAQ and see what other interesting things you can pick up?