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: