Різниця між "ехо" та "ехо -е" [закрито]


25

У чому різниця між echoі echo -e? Які лапки ("" або "") слід використовувати з командою echo? тобто: echo "Print statement"або echo 'Print statement'? Також які існують варіанти, які можна використовувати разом з echo?


3
Яка оболонка? echo -eне визначається POSIX і, ймовірно, змінюється залежно від оболонки.
Йорданм

Чи відповідає це на ваше запитання? unix.stackexchange.com/questions/65803/…
дхаг

2
використовувати man echoдля читання посібника для echo.
няня

echo не виконує свої аргументи як команди, це просто ... повторює їх
Антон

Відповіді:


33

echoсам по собі виводить рядок тексту. Буде потрібно взяти будь-яку річ у наступних "..."двох лапках, буквально, та просто роздрукувати як є. Однак echo -eви робите, echoщоб увімкнути інтерпретацію втечі зворотної косої риси. Отже, маючи на увазі ось кілька прикладів

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

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

Примітка: \nце новий рядок, тобто повернення вагона. Якщо ви хочете знати, які інші послідовності розпізнаються за echo -eтипом у man echoваш термінал.


2
echoвбудований у більшість оболонок. man echoбуде echoзамість цього документувати окрему команду.
Стефан Шазелас

Ви описуєте поведінку GNU echoабо оболонки GNU, echoколи не перебуваєте в режимі відповідності Unix. В іншому випадку поведінка зазвичай буде іншою.
Стефан Шазелас

3

У більшості випадків SHELL echoне може взяти послідовність втечі ( \n \t). Куди як echo -eможна

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

Одиночна та подвійна цитати в основному стосуються питань інтерполяції. Тут ви можете дізнатися більше деталей. Чому відлуння ігнорує мої цитати?


Це навпаки. У більшості оболонок (ksh88, ksh93, pdksh, mksh, Bourne, zsh, dash, bash і sh всіх Unix-сумісних систем, деякі з них, як ksh93 або bash лише в деяких середовищах) echo, розширюють послідовності втечі. echoРеалізація , яка приймає -eНЕ POSIX - сумісним.
Стефан Шазелас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.