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?
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
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.
echo -e
nie jest zdefiniowany przez POSIX i prawdopodobnie różni się w zależności od powłoki.man echo
aby przeczytać instrukcję dlaecho
.Odpowiedzi:
echo
sam 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 zecho -e
dokonaniemecho
włączenia interpretacji ukośników odwrotnych. Mając to na uwadze, oto kilka przykładówUwaga:
\n
to nowa linia, tzn. Powrót karetki. Jeśli chcesz wiedzieć, jakie inne sekwencje są rozpoznawane,echo -e
wpisz wman echo
swoim terminalu.źródło
echo
jest wbudowany w większość powłok. polubi zamiast tegoman echo
dokumentowaćecho
samodzielne polecenie.echo
lub powłoki GNU,echo
gdy nie jesteś w trybie zgodności z Uniksem. Gdzie indziej zachowanie zwykle będzie inne.W większości przypadków SHELL
echo
nie można wykonać sekwencji ucieczki (\n \t
). Gdzie jakecho -e
możnaecho -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?
źródło
echo
rozszerza sekwencje specjalne.echo
Realizacja, która akceptuje-e
nie jest zgodny z POSIX.