O problema é que o shell está interpretando o $
no comando 1,$-1d
.
(Especificamente, nos meus testes, ele interpreta $-
como a coleção de set
flags.)
A melhor maneira de corrigir isso é citar ou escapar da string EOF
, como em
ed db/seeds.rb <<\EOF
ou
ed db/seeds.rb <<"EOF"
Como alternativa, você pode escapar (ou seja, colocar uma barra invertida na frente de)
cada $
no seu "documento aqui".