Este script tem finais de linha CR LF. Isso é mais visível com od
.
$ od -c script
0000000 # ! / b i n / b a s h \r \n w h i
0000020 l e r e a d n a m e ; d o
0000040 \r \n e c h o " N a m e r e a
0000060 d f r o m f i l e - $ n
0000100 a m e " \r \n d o n e < / h o
0000120 m e / M a t t / s e r v e r s .
0000140 t x t \r \n
0000145
Como você pode ver, eu tenho os caracteres \r
(retorno de carro) e \n
(alimentação de linha) no final de cada linha, onde você deve ter apenas \n
caracteres. Isso é resultado de um problema de compatibilidade entre os sistemas Windows e * nix. O Bash tem dificuldade em lidar com os caracteres \r
.
Você pode corrigir seu script usando um utilitário como dos2unix
ou executando o seguinte comando sed
:
sed -i 's/\r$//' script