¿Diferencia entre >> y> \> operadores?

25

RHEL 6

¿Hay alguna diferencia entre los operadores >>y >\>? Leí la siguiente propaganda en un libro de entrenamiento de RHEL:

"Puede agregar una salida estándar al final de un archivo existente con una flecha de doble redirección con un comando como ls >\> filelist

Estoy más acostumbrado al >>operador y cuando intento ambos, obtengo resultados diferentes.

  • El uso >>parece agregar resultados al archivo que lo sigue (como se esperaba).
  • El uso >\>parece agregar salida a un archivo literalmente llamado >

¿Es esto un error en el libro que estoy leyendo? ¿O me estoy perdiendo el punto del autor?

Mike B
fuente
@Sirex corto, pero una respuesta.
jordanm
Yeah Yo supongo !
Sirex

Respuestas:

45

Para agregar texto a un archivo que usa >>. Para sobrescribir los datos actualmente en ese archivo, utiliza >. En general, en bash y otros shells, escapas usando caracteres especiales \.

Entonces, cuando usas echo foo >\>lo que estás diciendo es "redirigir a un archivo llamado >", pero eso es porque estás escapando del segundo >. Es equivalente a usar echo foo > \>cual es lo mismo que echo foo > '>'.

Entonces, sí, como dijo Sirex, es probable que sea un error tipográfico en su libro.

terdon
fuente
12

Parece un error tipográfico. .. ... .. ..

Sirex
fuente
1
Gracias. Me preguntaba si me falta algún concepto de Linux extremadamente simple aquí. =)
Mike B