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?


@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.


12

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


1
Dzięki. Zastanawiałem się, czy brakuje mi tutaj jakiejś rażąco prostej koncepcji linux. =)
Mike B
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.