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?
Odpowiedzi:
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 jakecho foo > '>'
.Tak więc, jak powiedział Sirex, to prawdopodobnie literówka w twojej książce.
źródło
wygląda na literówkę. .. ... .. ..
źródło