Does the script contain some non-printing characters?
For example, if the script has been edited in a Microsoft editor it could have some carriage return characters in it.
This will display control characters in the script using the '^' notation
(carriage returns will be shown as ^M )
cat --show-nonprinting script