Obtendo um problema de delimitador ao executar o script

0

Estou criando um arquivo test.sh e estou executando como ./test.sh :

string="hello"
ed << EOF
e any_file
1i
${string}
EOF

alguém pode me ajudar o que faz?

Estou recebendo alguma questão de delimitação. Alguém pode me dizer como fazer isso?

    
por user3301107 12.02.2014 / 11:26

1 resposta

2

seu script está incompleto, pois ele está perdendo a terminação EOF literal.

Eu tento explicar o roteiro:

a primeira linha simplesmente atribui "olá" à variável string .

 string="hello"

a segunda linha inicia o comando ed e alimenta (via stdin ) as linhas a seguir até encontrar o EOF literal ( << foo significa: as linhas a seguir até que foo sejam redirecionadas para o stdin )

 ed << EOF

as seguintes linhas são comandos ed .

abra um arquivo chamado * any_file * ( e any_file ) e insira 1i da string ${string} (isso será expandido para "olá").

mas, como você está sem a terminação EOF literal, o redirecionamento de stdin gera um erro.

    
por 12.02.2014 / 11:39