Bash: Różnica między operatorem> a >>? [Zamknięte]

37

Jestem nowicjuszem i nie wiem wiele o bash.my instruktor poprosił mnie o wykonanie skryptu kota i obserwację wyników, a następnie powiedz, czym jest> operator i jaka jest różnica między operatorem> i >>? i nie mogę znaleźć żadnych uzasadnień. więc proszę o pomoc :)

jumbo18
źródło
Możesz bawić się plikami tymczasowymi, aby uzyskać różnicę między >> a>.
halp

Odpowiedzi:

60

Znak „>” służy do przekierowania wyjścia programu na coś innego niż standardowe wyjście (standardowe wyjście, którym domyślnie jest terminal).

>> dołącza się do pliku lub tworzy plik, jeśli nie istnieje.
> Zastępuje plik, jeśli istnieje, lub tworzy go, jeśli nie istnieje.

W obu przypadkach dane wyjściowe programu są przechowywane w pliku, którego nazwa jest podana za operatorem przekierowania.

Przykłady:
$ ls > allmyfiles.txt tworzy plik „allmyfiles.txt” i wypełnia go listą katalogów z polecenia ls

$ echo "End of directory listing" >> allmyfiles.txt dodaje „Koniec listy katalogów” na końcu pliku „allmyfiles.txt”

$ > newzerobytefile tworzy nowy plik zero bajtów o nazwie „newzerobytefile” lub zastępuje istniejący plik o tej samej nazwie (co powoduje, że ma rozmiar zero bajtów)

andyhky
źródło
3
Więcej niesamowitych
Tim Bielawa,
0

=> th> operator użyje do zastąpienia pliku, jeśli istnieje inny sposób, utworzy nowy plik EX cat> example1 => Jeśli plik „example1” istnieje, to zostanie on nadpisany, inaczej utworzy nowy plik => operator >> zastosuje, aby dołączyć koniec pliku EX cat >> example1

Godani Bhavesh
źródło
4
To dokładnie te same informacje, które wcześniej opublikował andyh_ky. Nie ma sensu powtarzać poprzedniej odpowiedzi. Nie ma również sensu dodawanie bezsensownego komentarza.
John Gardeniers
-4

Nie możesz znaleźć strony podręcznika bash ? Wystarczy wpisać man bash w wierszu polecenia.

adamo
źródło
Możesz spróbować dodać do swojego komentarza przydatne treści. Mieli właśnie post na blogu o odpowiedziach w stylu RTFM blog.serverfault.com/post/1306724710/rtfm Może warto wspomnieć, że do przekierowania IO wykorzystywane są operatory> i >> tldp.org/LDP/abs/html/io -redirection.html Podobnie <służy do odczytu pliku do standardowego wejścia.
Tim Bielawa
Zgadzam się z @Tim. Jestem zwolennikiem metody uczenia się „naucz człowieka łowić ryby”. W tym przypadku jednak, a zwłaszcza dla początkujących, jest zerowe wskazanie, że readresatory wyjściowe są obsługiwane przez skorupy użytkownika.
EEAA,
-1, ponieważ strona bash jest jedną z najtrudniejszych do naśladowania, z którą mam do czynienia regularnie.
Sparr
Daj spokój! To nie jest RTFM! Możesz przejść do strony podręcznika bash (a ja podałem link do niego), naciśnij ctrl-F i wpisz >> Pierwszą rzeczą, którą pokazuje, jest użycie >> Plus, to pytanie jest pracą domową: Czy odpowiadamy na pracę domową (to była odpowiedziały andyh_ky) czy pokazujemy, gdzie jest odpowiedź?
adamo
Jak mówi mu, aby szukał „strony podręcznika bash”, a nie przypadek Przeczytaj instrukcję F ******? Ma nawet słowo manual!
Sam Cogan