'Echo' ve 'echo -e' arasındaki fark [kapalı]


25

Arasındaki fark nedir echove echo -e? Echo komutuyla hangi alıntılar ("" veya '') kullanılmalıdır? yani: echo "Print statement"ya da echo 'Print statement'? Ayrıca, birlikte kullanılabilecek seçenekler echonelerdir?


3
Cehennem nedir? echo -ePOSIX tarafından tanımlanmamıştır ve muhtemelen kabuğa göre değişir.
jordanm

Bu sorunuza cevap veriyor mu? unix.stackexchange.com/questions/65803/…
dhag

2
man echoiçin kılavuzu okumak için kullanın echo.
dadı

echo, argümanlarını komut olarak yerine getirmez, sadece ... onları yankılar
Anthon

Yanıtlar:


33

echokendi başına bir metin satırı görüntüler. Aşağıdaki "..."iki tırnak işareti içindeki her şeyi tam anlamıyla alır ve olduğu gibi yazdırır. Bununla birlikte, ters eğik çizgi çıkışlarını yorumlama özelliğini etkinleştirmek için echo -eyapıyorsunuz echo. Bu yüzden burada akılda tutulması gereken bazı örnekler

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

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

Not: \nYeni satırdır, yani satır başı. Diğer diziler tarafından tanınan bilmek istiyorsanız echo -etip man echoterminal için.


2
echoÇoğu kabuklarda yerleşiktir. man echoBunun echoyerine bağımsız komutu belgelemek ister .
Stéphane Chazelas

GNU echoveya GNU kabuğunun davranışını echoUnix uygunluk modunda değilken tanımlıyorsunuz . Başka yerlerde, davranış tipik olarak farklı olacaktır.
Stéphane Chazelas

3

SHELL'in çoğunda kaçış dizisi ( ) echoolamaz . Nerede olabilir\n \techo -e

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

Tek teklif ve çift teklif, çoğunlukla enterpolasyon sorunlarını ele almak içindir. Burada daha fazla ayrıntı bulabilirsiniz, Neden eko alıntı karakterlerimi görmezden geliyor?


Bu tam tersi. Çoğu kabukta (ksh88, ksh93, pdksh, mksh, Bourne, zsh, kısa çizgi, bash ve tüm Unix uyumlu sistemlerin sh'ı, bazıları sadece ksh93 veya bash gibi bazı ortamlarda) echokaçış dizilerini genişletir. Kabul echoeden bir uygulama -ePOSIX uyumlu değil.
Stéphane Chazelas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.