Há duas coisas erradas:
- Você não pode usar espaços ao redor do operador de atribuição. Como seu script atualmente é, o bash interpreta a linha como "executar
name
com os argumentos=
eElvin John Paul
". A linha deve se parecer com o seguinte:
name="Elvin John Paul"
- Você tem finais de linha no estilo do Windows (CRLF em vez de apenas LF), o que resulta no erro sobre
$'\r'
. Em versões recentes do Cygwin, você pode usarset -o igncr
para ignorar retornos de carro como parte de um CR LF, ou pode corrigir isso comsed
da seguinte forma:
sed 's/\r$//' file > file2