Różnica między „echo” a „echo -e” [zamknięte]


25

Jaka jest różnica między echoi echo -e? Których cudzysłowów („” lub „”) należy używać z poleceniem echo? tj .: echo "Print statement"lub echo 'Print statement'? Jakie są dostępne opcje, z których można korzystać echo?


3
Jaka skorupa? echo -enie jest zdefiniowany przez POSIX i prawdopodobnie różni się w zależności od powłoki.
Jordan

Czy to odpowiada na twoje pytanie? unix.stackexchange.com/questions/65803/…
dhag

2
użyj, man echoaby przeczytać instrukcję dla echo.
niania

echo nie wykonuje swoich argumentów jako poleceń, po prostu ... echo je
Anthon

Odpowiedzi:


33

echosam w sobie wyświetla wiersz tekstu. "..."Dosłownie weźmie wszystko w obrębie następujących dwóch znaków cudzysłowu i po prostu wydrukuje takie, jakie jest. Jednak wraz z echo -edokonaniem echowłączenia interpretacji ukośników odwrotnych. Mając to na uwadze, oto kilka przykładów

INPUT: echo "abc\n def \nghi" 
OUTPUT:abc\n def \nghi

INPUT: echo -e "abc\n def \nghi"
OUTPUT:abc
 def 
ghi

Uwaga: \nto nowa linia, tzn. Powrót karetki. Jeśli chcesz wiedzieć, jakie inne sekwencje są rozpoznawane, echo -ewpisz w man echoswoim terminalu.


2
echojest wbudowany w większość powłok. polubi zamiast tego man echodokumentować echosamodzielne polecenie.
Stéphane Chazelas

Opisujesz zachowanie GNU echolub powłoki GNU, echogdy nie jesteś w trybie zgodności z Uniksem. Gdzie indziej zachowanie zwykle będzie inne.
Stéphane Chazelas

3

W większości przypadków SHELL echonie można wykonać sekwencji ucieczki ( \n \t). Gdzie jak echo -emożna

echo -e " This is \n an \t example"

Pojedynczy cytat i podwójny cytat służą głównie do rozwiązywania problemów z interpolacją. Więcej informacji można znaleźć tutaj: Dlaczego echo ignoruje moje znaki zapytania?


Odwrotnie. W większości powłok (ksh88, ksh93, pdksh, mksh, Bourne, zsh, dash, bash i sh wszystkich systemów zgodnych z Uniksem, niektóre z nich jak ksh93 lub bash tylko w niektórych środowiskach) echorozszerza sekwencje specjalne. echoRealizacja, która akceptuje -enie jest zgodny z POSIX.
Stéphane Chazelas
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.