Probablemente tenga algunos caracteres no imprimibles al final de las líneas (por ejemplo, CRLF de Windows), ejecute:
cat -A scriptname
en la máquina remota, le mostrará todos los caracteres en su secuencia de comandos. Luego, puede convertir a un formato similar a Unix ejecutando
dos2unix scriptname
Encontré que Notepad ++ es muy útil para corregir esto después de intentar la respuesta
cat -Un nombre de guión>
nombre de script dos2unix
ya que esto todavía presentaba errores al intentar convertir.
A través de Notepad ++ existe la opción en el menú de edición/Conversión EOL/Unix/Formato OSX.
Todavía soy un gran aprendiz, pero este método resolvió mi problema, sin embargo, la solución anterior me ayudó a encontrar dónde estaba el problema.