Diferença entre operadores >> e> \>?

25

RHEL 6

Existe uma diferença entre os operadores >>e >\>? Li a seguinte sinopse em um livro de treinamento do RHEL:

"Você pode adicionar saída padrão ao final de um arquivo existente com uma seta de redirecionamento duplo com um comando como ls >\> filelist

Estou mais acostumado ao >>operador e, quando tento os dois, obtenho resultados diferentes.

  • O uso >>parece acrescentar a saída ao arquivo a seguir (conforme o esperado).
  • O uso >\>parece acrescentar a saída a um arquivo chamado literalmente >

Isso é um erro no livro que estou lendo? Ou estou perdendo o argumento do autor?

Mike B
fonte
@ Sirex curto, mas uma resposta.
jordanm
Sim, eu acho !
Sirex

Respostas:

45

Para acrescentar texto a um arquivo que você usa >>. Para substituir os dados atualmente nesse arquivo, você usa >. Em geral, no bash e em outras conchas, você escapa caracteres especiais usando \.

Então, quando você usa echo foo >\>o que está dizendo é "redirecionar para um arquivo chamado >", mas isso ocorre porque você está escapando do segundo >. É equivalente a usar echo foo > \>qual é o mesmo que echo foo > '>'.

Então, sim, como disse a Sirex, isso provavelmente é um erro de digitação no seu livro.

terdon
fonte
12

parece um erro de digitação. .. ... .. ..

Sirex
fonte
1
Obrigado. Gostaria de saber se eu perdi algum conceito linux flagrantemente simples aqui. =)
Mike B