Você tem finais de linha no estilo do Windows.
O comando no-op : é lido como :<carriage return> , exibido como :\r ou mais como $':\r' .
Execute dos2unix scriptname e você deve estar bem.
Se você não tem dos2unix , o seguinte deve funcionar quase em qualquer lugar (e testei no MobaXterm no Windows):
vi -b filename
Em seguida, em vi , digite:
:%s/\r$//
:x
Você é bom para ir.
Em vim , que é o que você está usando no Cygwin para vi , existem várias maneiras de fazer isso. Outra envolve a configuração fileformat , que pode receber os valores dos ou unix . Altere explicitamente depois de carregar o arquivo com
set fileformat=unixou forçar explicitamente o formato do arquivo ao gravar o arquivo com
:w +fileformat=unix
Para saber mais sobre isso, veja as muitas perguntas e respostas sobre esse assunto, incluindo:
