Have you updated the scripts recently, perhaps uploading them from a non-*nix workstation? If your script now has the DOS/Win end-of-line CR/LF, instead of the *nix LF, you'll get this message.
Try this:
# sed 's/.$//' script > newscript
If you then vi newscript and are not missing the last characters from lines, this was your problem. The newscript will probably exec.
Be aware that you may get this error if just SOME of the lines have the CR/LF EOL. The above is not a 100% reliable way to fix the problem, just a quick and dirty check and can be destructive if no all lines are using CR/LF. Search the forums for other ways to harmlessly convert files from DOS/Win to *nix format.