Różnica między operatorami >> i> \>?

25

RHEL 6

Czy istnieje różnica między operatorami >>i >\>? W książce szkoleniowej RHEL przeczytałem następujący napis:

„Możesz dodać standardowe wyjście na końcu istniejącego pliku za pomocą podwójnej strzałki przekierowania za pomocą polecenia takiego jak ls >\> filelist

Jestem bardziej przyzwyczajony do >>operatora i kiedy próbuję obu, uzyskuję różne wyniki.

  • Używanie >>wydaje się dołączać dane wyjściowe do pliku, który następuje po nim (zgodnie z oczekiwaniami).
  • Używanie >\>wydaje się dołączać dane wyjściowe do pliku dosłownie o nazwie >

Czy to błąd w książce, którą czytam? A może brakuje mi punktu autora?

Mike B.
źródło
@Sirex krótki, ale odpowiedź.
jordanm
Chyba tak !
Sirex,

Odpowiedzi:

45

Aby dołączyć tekst do używanego pliku >>. Aby zastąpić dane aktualnie znajdujące się w tym pliku, użyj >. Ogólnie rzecz biorąc, w bash i innych powłokach uciekasz za pomocą znaków specjalnych \.

Tak więc, kiedy używasz echo foo >\>tego, co mówisz, to „przekieruj do pliku o nazwie >”, ale dzieje się tak dlatego, że uciekasz przed drugim >. Jest to równoważne z użyciem, echo foo > \>który jest taki sam jak echo foo > '>'.

Tak więc, jak powiedział Sirex, to prawdopodobnie literówka w twojej książce.

terdon
źródło
12

wygląda na literówkę. .. ... .. ..

Sirex
źródło
1
Dzięki. Zastanawiałem się, czy brakuje mi tutaj jakiejś rażąco prostej koncepcji linux. =)
Mike B