Как да използвате командата Echo в Linux

Прозорец на Linux терминал на работен плот с Ubuntu.

Фатмавати Ахмад Заенури/Shutterstock



|_+_| командата е идеална за писане на форматиран текст в прозореца на терминала. И не е задължително да е статичен текст. Може да включва променливи на обвивката, имена на файлове и директории. Можете също да пренасочите echo за създаване на текстови файлове и регистрационни файлове. Следвайте това просто ръководство, за да разберете как.

Ехо повтаря това, което му кажете да повтори

Зевс обичаше да напуска планината Олимп, за да се съпрузи с красиви нимфи. При едно пътуване той каза на планинска нимфа, наречена Ехо препятства жена му , Хера, ако го последва. Хера наистина дойде да търси Зевс и Ехо направи всичко възможно, за да поддържа Хера в разговор. Накрая Хера изгуби нервите си и прокле горкото Ехо, така че да повтори само последните думи, които някой друг е казал. Какво е направила Хера със Зевс, когато го настигна, може да се гадае.





И това, до голяма степен, е |_+_| много в живота. Повтаря какво беше казано да се повтори . Това е проста функция, но жизненоважна. Без |_+_| , не бихме могли да получим видим изход от скриптове на обвивката, например.

Въпреки че не е натоварен с множество звънци и свирки, има голям шанс |_+_| има някои възможности, за които не сте знаели или сте забравили.



изхвърли? изхвърли!

Повечето Linux системи предоставят две версии на |_+_|. В Bash черупка има свой собствен |_+_| вграден в него и има двоична изпълнима версия на |_+_| също така.

Реклама

Можем да видим двете различни версии, като използваме следните команди:

echo echo



|_+_| команда ни казва дали командата, която му предаваме като негов аргумент е вградена обвивка, двоичен изпълним файл, псевдоним или функция. Отчита ни, че |_+_| е вградена обвивка.

Веднага след като намери отговор, |_+_| спира да търси други съвпадения. Така че не ни казва дали в системата има други команди със същото име. Но ни казва кой от тях открива първо. И това е този, който ще се използва по подразбиране, когато издадем тази команда.

|_+_| команда търси двоичния изпълним файл, изходния код и ръчната страница за командата, която й предаваме като команден ред параметър . Той не търси вградени обвивки, защото те нямат отделен двоичен изпълним файл. Те са неразделна част от изпълнимия файл на Bash.

|_+_| командата съобщава, че |_+_| е двоичен изпълним файл, разположен в |_+_| директория.

За да използвате тази версия на |_+_| ще трябва да го извикате изрично, като предоставите пътя до изпълнимия файл в командния ред:

echo

Реклама

Вградената обвивка не знае какво е |_+_| Аргументът на командния ред е, той просто го повтаря в прозореца на терминала:

echo

Всички показани тук примери използват версията по подразбиране на |_+_| в обвивката на Bash.

Писане на текст в терминала

За да напишете прост низ от текст в прозореца на терминала, въведете |_+_| и низът, който искате да показва:

echo

Текстът се повтаря за нас. Но докато експериментирате, скоро ще откриете, че нещата могат да станат малко по-сложни. Вижте този пример:

echo

Прозорецът на терминала показва |_+_| подписва и сяда там и чака. Ctrl+C ще ви върне към командния ред. Какво се случи там?

Единичната кавичка или апостроф в думата съм объркан |_+_|. Той интерпретира този единичен цитат като начало на цитиран раздел от текста. Тъй като не откри затварящ единичен кавичък, |_+_| чакаше повече информация. Очакваше по-нататъшната информация да включва липсващата единична кавичка, която чакаше.

Реклама

За да включите единични кавички в низ, най-простото решение е да обвиете целия низ в двойни кавички:

echo

Обвиването на текста ви в двойни кавички е добър общ съвет. В скриптовете той ясно ограничава параметрите, които предавате на |_+_|. Това прави четенето и отстраняването на грешки на скриптове много по-лесно.

Ами ако искате да включите знак с двойни кавички в низа си от текст? Това е лесно, просто поставете обратна наклонена черта |_+_| пред двойните кавички (без интервал между тях).

type

Това обвива думата отрепка в двойни кавички за нас. Ще видим още такива с обратна наклонена черта герои скоро.

Използване на променливи с ехо

Досега пишехме предварително дефиниран текст в прозореца на терминала. Можем да използваме променливи с |_+_| да произведе изход, който е по-динамичен и има стойности, вмъкнати в него за нас от обвивката. Можем да дефинираме проста променлива с тази команда:

echoРеклама

Променлива, наречена |_+_| е създадена. Приписана му е стойността на текста Дейв. Можем да използваме името на променливата в низовете, които предаваме на |_+_| , а стойността на променливата ще бъде записана в прозореца на терминала. Трябва да поставите знак за долар |_+_| пред името на променливата, за да разрешите |_+_| знам, че е променлива.

Има едно предупреждение. Ако сте увили низа си в единични кавички |_+_| ще третира всичко буквално. За да има променливата стойност се показва, а не име на променливата, използвайте двойни кавички.

type whereis

Донякъде уместно, това си струва да се повтори:

  • Използвайки единичен кавичките водят до това, че текстът се записва в прозореца на терминала в a буквално мода.
  • Използвайки двойно кавичките водят до интерпретиране на променливата – наричано още разширение на променливата – и стойност се записва в прозореца на терминала.

СВЪРЗАНИ: Как да работим с променливи в Bash

Използване на команди с ехо

Можем да използваме команда с |_+_| и включете неговия изход в низа, който се записва в прозореца на терминала. Трябва да използваме знака за долар |_+_| сякаш командата е променлива и увийте цялата команда в скоби.

Ще използваме команда за дата . Един съвет е да използвате командата самостоятелно, преди да започнете да я използвате с |_+_|. По този начин, ако има нещо нередно със синтаксиса на вашата команда, вие го идентифицирате и коригирате, преди да го включите в |_+_| команда. Тогава, ако |_+_| командата не прави това, което очаквате, ще знаете, че проблемът трябва да е с |_+_| синтаксис, защото вече сте доказали синтаксиса на командата.

Така че, опитайте това в прозореца на терминала:

whereis

И доволни, че получаваме това, което очакваме от командата date, ще я интегрираме в |_+_| команда:

echo

Обърнете внимание, че командата е в скобите и знака за долар |_+_| е непосредствено преди първата скоба.

Форматиране на текст с ехо

|_+_| (активиране на обратна наклонена черта) опцията ни позволява да използваме някои символи с обратна наклонена черта, за да променим оформлението на текста. Това са екранираните символи с обратна наклонена черта, които можем да използваме:

    да се: Сигнал (исторически известен като BEL). Това генерира звука за предупреждение по подразбиране. б: Изписва символ за връщане назад. ° С: Изоставя всеки следващ изход. И: Пише escape символ. f: Записва символ за подаване на формуляр. н: Пише нов ред. : Изписва връщане на карета. т: Записва хоризонтален раздел. v: Записва вертикален раздел. \: Изписва обратна наклонена черта.
Реклама

Нека използваме някои от тях и да видим какво правят.

/bin

Текстът е разделен на нов ред, където сме използвали |_+_| символи и се вмъква табулатор, където сме използвали |_+_| символи.

echo

Като |_+_| знаци за нов ред, вертикален раздел |_+_| премества текста на реда по-долу. Но за разлика от |_+_| знаци за нов ред, |_+_| вертикалният раздел не започва новия ред от нула колона. Той използва текущата колона.

|_+_| символи за връщане назад преместват курсора един знак назад. Ако има повече текст, който трябва да бъде записан в терминала, този текст ще замени предишния знак.

--version

3 се презаписва от 4.

|_+_| символът за връщане на карета причинява |_+_| за да се върнете в началото на текущия ред и да напишете всеки следващ текст от нула колона.

echo

123-те знака се презаписват от 456-те знака.

|_+_| предупредителен знак ще издаде звуков сигнал. Той използва звука за предупреждение по подразбиране за текущата ви тема.

echo

Реклама

|_+_| Опцията (без нов ред) не е последователност, избягваща обратна наклонена черта, но засяга козметиката на оформлението на текста, така че ще я обсъдим тук. Предотвратява |_+_| от добавяне на нов ред в края на текста. Командният ред се появява директно след текста, който се записва в прозореца на терминала.

>

Използване на ехо с файлове и директории

Можете да използвате |_+_| като нещо като бедняшка версия на |_+_|. Вашите опции са малко и далеч между, когато използвате |_+_| като този. Ако имате нужда от някаква вярност или фин контрол, по-добре е да използвате |_+_| и своя легион от опции .

Тази команда изброява всички файлове и директории в текущата директория:

echo

Тази команда изброява всички файлове и директории в текущата директория, чието име започва с D:

echo

Тази команда изброява всички .desktop файлове в текущата директория:

echo

да. Това не играе в полза на силните страни на |_+_|. Използвайте |_+_|.

Писане във файлове с ехо

Можем да пренасочим изхода от |_+_| и или създавайте текстови файлове, или записвайте в съществуващи текстови файлове.

Реклама

Ако използваме |_+_| оператор за пренасочване, файлът се създава, ако не съществува. Ако файлът съществува, изходът от |_+_| се добавя в началото на файла, като презаписва всяко предишно съдържание.

Ако използваме |_+_| оператор за пренасочване, файлът се създава, ако не съществува. Резултатът от |_+_| се добавя в края на файла и не презаписва съществуващо съдържание на файла.

echo my_name

С първата команда се създава нов файл и в него се вмъква текст. Втората команда добавя ред текст в долната част на файла. |_+_| командата показва съдържанието на файла в прозореца на терминала.

И разбира се, можем да включим променливи, за да добавим полезна информация към нашия файл. Ако файлът е лог файл, може да искаме да добавим времеви печат към него. Можем да направим това със следващата команда.

Обърнете внимание на единичните кавички около параметрите за |_+_| команда. Те предотвратяват интерпретирането на пространството между параметрите като края на списъка с параметри. Те гарантират, че параметрите се предават на |_+_| правилно.

echo $

Нашият лог файл е създаден за нас и |_+_| ни показва, че и клеймото за дата, и клеймото за време са добавени към него.

СВЪРЗАНИ: Какво представляват stdin, stdout и stderr в Linux?

Това е репертоарът на echo

Проста команда, но незаменима. Ако не съществуваше, трябваше да го измислим.

В края на краищата манипулациите на Зевс направиха нещо добро.

Linux команди
Файлове катран · pv · котка · такт · chmod · сцепление · разл · sed · С · човек · pushd · popd · fsck · тестов диск · сек · fd · пандока · CD · $PATH · awk · присъединяване · jq · сгънете · уникален · journalctl · опашка · състояние · ls · fstab · изхвърли · по-малко · chgrp · chown · rev · виж · струни · Тип · преименувайте · цип · разархивирайте · монтиране · umount · Инсталирай · fdisk · mkfs · rm · rmdir · rsync · df · gpg · ние · нано · mkdir · от · вътрешен · кръпка · преобразувам · rclone · накъсайте · SRM
процеси псевдоним · екран · връх · хубаво · renice · напредък · strace · система · tmux · chsh · история · в · партида · Безплатно · който · dmesg · потребителски мод · п.с · chroot · xargs · tty · мизичко · lsof · vmstat · изчакване · стена · да · убиват · сън · sudo · неговата · време · groupadd · потребителски мод · групи · lshw · изключвам · рестартирайте · Спри се · изключване · passwd · lscpu · crontab · дата · bg · fg
Работа в мрежа netstat · пинг · трасиране · ip · ss · кой е · fail2ban · bmon · Вие · пръст на ръката · nmap · ftp · къдрица · wget · Кой · кой съм аз · В · iptables · ssh-keygen · ufw

СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти

ПРОЧЕТЕТЕ СЛЕДВАЩО Снимка на профила на Дейв Маккей Дейв Маккей
Дейв Маккей за първи път използва компютри, когато перфорираната хартиена лента беше на мода и оттогава той програмира. След повече от 30 години в ИТ индустрията, той вече е технологичен журналист на пълен работен ден. По време на кариерата си той е работил като програмист на свободна практика, мениджър на международен екип за разработка на софтуер, ръководител на проекти за ИТ услуги и, последно, като служител по защита на данните. Неговото писане е публикувано от howtogeek.com, cloudsavvyit.com, tenterpriser.com и opensource.com. Дейв е евангелист на Linux и привърженик на отворен код.
Прочетете пълната биография

Интересни Статии