faz (redirecionamento de entrada no modo append) funciona apenas para newline?

2

enquanto lia sobre criação de arquivos no linux eu consegui:

  

Outra maneira de criar um arquivo no terminal é cat > <filename> << EOF . Um novo arquivo é criado e você pode digitar a entrada necessária. Para sair, insira EOF no início de uma linha.

então eu tentei isso no meu prompt de shell

$ cat > test1.txt <<ABC
> This is just a test file.
> ABC
$ cat test1.txt
This is just a test file.

aqui quando eu digitei ABC (poderia ser qualquer coisa - apenas para padrão de correspondência) .na linha nova funcionou (aceita como teria sido feito no caso de ctrl + C ), mas quando eu tentei

$ cat >> test1.txt <<ABC
> just for a trial
> though ABC
> it didnt worked.
> ABC
$ cat test1.txt
This is just a test file.
just for a trial
though ABC
it didnt worked.
$ 

fazendo isso, só funcionou na nova linha. Isso significa que << funciona para nova linha,

E o que está acontecendo dentro de cat> test1.txt <<ABC exatamente?

    
por jazzz 14.10.2014 / 19:18

1 resposta

3

O 'EOF' final (o LimitString) não deve ter nenhum espaço em branco ou outros caracteres na frente da palavra, porque isso significa que o LimitString (no seu caso ABC ) não será reconhecido. 1

1 Adaptado e revisado de link

    
por karel 14.10.2014 / 19:26