sh-3.2$ ./temperature.sh Unknown OS linux
sh-3.2$ echo $? 1
Exactly, temperature.sh checks the $BBOSTYPE variable for known OS types It should match on the linux|redhat) line but doesn't
No, because "linux<newline>" doesn't match "linux". You need to figure out where that extra newline comes from; the Hobbit client "runclient.sh" script picks it up from the "uname -s" output, and that should not (normally) include a newline. So either uname is broken on these boxes, or BBOSTYPE is being set somewhere else.
In your example above, it shows the problem. The temperature.sh script gets the $BBOSTYPE from the environment, not set anywhere. Also from your example, the exit code from the script is 1. That's the same exit code I get when I run the script manually, but it exits because $BBOSTYPE don't match. Look near the bottom of the temperature.sh script. I have to assume that you're running Linux, so why does temperature.sh, exit 1 when you run it?
Whether or not I have convinced you of the above issue, how does the script terminate with a status of 5 or 7, when it returns 1?
Thanks -Grs-