Како се користи команда Ецхо на Линуку
Тхе одјек
наредба је савршена за писање форматираног текста у прозор терминала. И не мора бити статичан текст. Може садржати променљиве љуске, имена датотека и директоријуме. Такође можете да преусмерите ехо да бисте креирали текстуалне датотеке и датотеке дневника. Пратите овај једноставан водич да бисте сазнали како.
Ецхо понавља оно што кажете да се понови
Зевс је радо напуштао планину Олимп да би се дружио са прелепим нимфама. На једном путовању, рекао је планинској нимфи званој Ецхо да усмери жену Херу ако га она следи. Хера је дошла тражити Зевса, а Ецхо је чинио све што је могао да Херу одржи у разговору. Коначно, Хера је изгубила живце и проклела јадног Еха тако да је поновила само последње речи које је неко други рекао. Неко погађа шта је Хера учинила Зевсу кад га је сустигла.
И то, у основи, јесте одјек
'С пуно у животу. Понавља оно што је речено да се понови. То је једноставна функција, али витална. Без одјек
, на пример, не бисмо могли да добијемо видљиве излазе из скрипти љуске.
Иако није оптерећен мноштвом звона и звиждука, велике су шансе да је то тако одјек
има неке могућности за које нисте знали или сте их заборавили.
одјек? одјек!
Већина Линук система нуди две верзије одјек
. Басх шкољка има свој одјек
уграђена у њу, а постоји бинарна извршна верзија одјек
такође.
Две различите верзије можемо видети помоћу следећих команди:
тип ехо
вхереис ецхо
Тхе тип
наредба нам говори да ли је наредба коју јој проследимо као њен аргумент уграђена љуска, бинарна извршна датотека, алиас или функција. То нам извештава одјек
је уграђена љуска.
Чим је пронашао одговор, тип
престаје да тражи даље мечеве. Дакле, не говори нам да ли су у систему присутне и друге команде са истим именом. Али нам говори који ће прво наћи. И то је онај који ће се подразумевано користити када издајемо ту наредбу.
Тхе вхереис
наредба тражи бинарни извршни програм, изворни код и ман страницу за наредбу коју јој прослиједимо као параметар наредбене линије. Не тражи уграђене љуске, јер немају засебан бинарни извршни програм. Они су саставни део извршне датотеке Басх.
Тхе вхереис
команда извештава да одјек
је бинарна извршна датотека која се налази у / бин
именик.
Да бисте користили ту верзију одјек
требало би да га изричито позовете тако што ћете унети путању до извршне датотеке у командној линији:
/ бин / ецхо --версион
Уграђена љуска не зна шта --верзија
аргумент наредбеног ретка је, он га само понавља у прозору терминала:
ецхо --версион
Сви овде приказани примери користе подразумевану верзију одјек
, у басховој љусци.
Писање текста на терминал
Упишите једноставни низ текста у прозор терминала одјек
и низ који желите да прикаже:
одјек Зовем се Даве.
Текст се за нас понавља. Али док експериментишете, ускоро ћете открити да ствари могу постати мало компликованије. Погледајте овај пример:
ецхо Моје име је Даве и ја сам штребер.
Прозор терминала приказује а>
потписати и седети тамо, чекајући. Цтрл + Ц ће вас вратити у командну линију. Шта се тамо десило?
Појединачни цитат или апостроф у речи „Ја“ сам збуњен одјек
. Тумачио је тај појединачни цитат као почетак цитираног одељка текста. Пошто није открио завршни појединачни наводник,одјек
је чекао још уноса. Очекивало је да ће даљи унос укључити недостајући појединачни цитат који се чекао.
Да бисте укључили један наводник у низ, најједноставније решење је умотати цео низ у двоструке наводнике:
ецхо "Моје име је Даве и ја сам штребер."
Обмотавање текста двоструким наводницима добар је општи савет. У скриптама јасно ограничава параметре на које прелазите одјек
. То олакшава читање и отклањање грешака у скриптама.
Шта ако желите да у низ текста додате знак са двоструким наводницима? То је лако, само ставите обрнуту косу црту \
испред двоструке наводнице (без размака између њих).
ецхо "Зовем се Даве и ја сам \" штребер. \ ""
Ово за нас умотава реч „штребер“ у двоструке наводнике. Видећемо још ових повратна коса црта избегла ликова укратко.
Коришћење променљивих са одјеком
До сада смо у прозор терминала писали унапред дефинисани текст. Можемо користити променљиве са одјек
да би се добио излаз који је динамичнији и у који нам љуске убацује вредности. Овом наредбом можемо дефинисати једноставну променљиву:
ми_наме = "Даве"
Променљива се зове моје име
је направљен. Додељена му је вредност текста „Даве“. Име променљиве можемо да користимо у низовима којима прелазимо одјек
, а вредност променљиве ће бити записана у прозор терминала. Морате ставити знак долара $
испред имена променљиве пустити одјек
знајте да је променљива.
Постоји упозорење. Ако сте низ умотали у појединачне наводнике одјек
односиће се према свему дословно. Да има променљиву вредност приказано, а не име променљиве користите двоструке наводнике.
ецхо 'Моје име је $ ми_наме'
ецхо "Моје име је $ ми_наме"
Донекле прикладно, то је вредно поновити:
- Користећи једно наводници резултирају тиме да се текст уписује у прозор терминала у а дословно мода.
- Користећидвоструко наводници резултирају тумачењем променљиве - која се назива и проширивањем променљиве - и вредност се записује у прозор терминала.
ПОВЕЗАН:Како радити са променљивим у Басх-у
Коришћење команди са одјеком
Можемо користити команду са одјек
и уградити његов излаз у низ који је записан у прозор терминала. Морамо користити знак долара $
као да је наредба променљива и умотајте целу наредбу у заграде.
Користићемо наредбу дате. Један савет је да команду користите самостално пре него што је почнете користити одјек
. На тај начин, ако нешто није у реду са синтаксом ваше наредбе, идентификујете је и исправљате пре него што је укључите у одјек
команда. Онда, ако одјек
наредба не ради оно што очекујете, знаћете да је проблем у одјек
синтакса јер сте већ доказали синтаксу наредбе.
Дакле, покушајте ово у прозору терминала:
датум +% Д.
И, задовољни што добијамо оно што очекујемо од наредбе дате, интегрираћемо је у одјек
наредба:
ецхо "Данашњи датум је: $ (датум +% Д)"
Имајте на уму да је наредба унутар заграда и знака долара $
је непосредно пре прве заграде.
Форматирање текста са одјеком
Тхе -е
Опција (омогућити прелазне косе црте) омогућава нам да користимо неке знакове избегнуте обрнутом косом цртом за промену изгледа текста. Ово су знакови избегнути обрнутом косом цртом које можемо користити:
- \ а: Упозорење (историјски познато као БЕЛ). Ово генерише подразумевани звук упозорења.
- \ б: Записује бацкспаце знак.
- \ ц: Напушта сваки даљи излаз.
- \ е: Пише лик за бег.
- \ ф: Записује знак за унос обрасца.
- \ н: Написује нови ред.
- \ р: Написује повратак кочије.
- \ т: Записује хоризонтални језичак.
- \ в: Записује вертикални језичак.
- \\: Записује знак са косом цртом.
Искористимо неке од њих и видимо шта раде.
ецхо -е "Ово је дугачак ред текста \ нподељен на три реда \ нс \ ттабс \ тон \ т \ трећим \ тлинеом"
Текст је подељен у нови ред где смо користили \ н
знакова и умеће се картица где смо користили \ т
ликова.
ецхо -е "Овде \ варе \ ввертицал \ втабс"
Као \ н
нови ред знакова, вертикални језичак \ в
премешта текст у доњи ред. Али, за разлику од\ н
знакови у новом реду, \ в
вертикална картица не започиње нову линију у нули колоне. Користи тренутну колону.
Тхе \ б
бацкспаце знакови померају курсор за један знак уназад. Ако на терминал треба написати још текста, тај текст ће преписати претходни знак.
ецхо -е "123 \ б4"
„3“ је преписано са „4“.
Тхе \ р
узрок враћања кочијаодјек
да се вратите на почетак текућег реда и да напишете даљи текст из нуле колоне.
ецхо -е "123 \ р456"
Знакови „123“ замењују се знаковима „456“.
Тхе \ а
знак упозорења ће произвести звучни „звучни сигнал“. Користи подразумевани звук упозорења за вашу тренутну тему.
ецхо -е "Направи писак \ а"
Тхе -н
Опција (без новог реда) није секвенца избегнута обрнутом косом цртом, али утиче на козметику изгледа текста, па ћемо о томе овде разговарати. Спречава одјек
од додавања новог реда на крај текста. Наредба за наредбе појављује се непосредно након текста који је уписан у прозор терминала.
ецхо -н "нема коначног новог реда"
Коришћење еха са датотекама и директоријумима
Можете користити одјек
као нека врста сиромашне верзије лс
. Ваше могућности су малобројне када их користите одјек
овако. Ако вам је потребна било каква верност или фина контрола, боље је да је користите лс
и његова легија опција.
Ова наредба наводи све датотеке и директоријуме у тренутном директоријуму:
одјек *
Ова наредба наводи све датотеке и директоријуме у тренутном директоријуму чије име почиње са „Д“:
ецхо Д *
Ова наредба наводи све датотеке .десктоп у тренутном директоријуму:
ецхо * .десктоп
-Да. Ово се не игра одјек
'С снагама. Користите лс
.
Писање у датотеке са одјеком
Излаз можемо преусмерити са одјек
или креирајте текстуалне датотеке или пишите у постојеће текстуалне датотеке.
Ако користимо >
оператора преусмеравања, датотека се креира ако не постоји. Ако датотека постоји, излаз из одјек
се додаје на почетак датотеке, преписујући било који претходни садржај.
Ако користимо >>
оператора преусмеравања, датотека се креира ако не постоји. Излаз из одјек
се додаје на крај датотеке и не преписује постојећи садржај датотеке.
ецхо "Креирање нове датотеке." > сампле.ткт
ецхо "Додавање у датотеку." >> сампле.ткт
мачка сампле.ткт
Нова датотека се креира првом наредбом и у њу се убацује текст. Друга наредба додаје ред текста на дно датотеке. Тхе мачка
наредба приказује садржај датотеке у прозору терминала.
И наравно, можемо да укључимо променљиве како бисмо нашој датотеци додали неке корисне информације. Ако је датотека датотека дневника, можда бисмо желели да јој додамо временску ознаку. То можемо учинити следећом командом.
Обратите пажњу на појединачне наводнике око параметара за датум
команда. Оне спречавају размак између параметара који се тумаче као крај листе параметара. Они осигуравају прослеђивање параметарадатум
тачно.
ецхо "Датотека евиденције започета: $ (датум + '% Д% Т')"> логфиле.ткт
цат логфиле.ткт
Наш логфиле је створен за нас и мачка
показује нам да су му додани и датумска и временска ознака.
ПОВЕЗАН:Шта су стдин, стдоут и стдерр на Линуку?
То је ехоов репертоар
Једноставна команда, али неопходна. Да није постојало, морали бисмо да га измислимо.
На крају, Зевсови смицалице су учинили нешто добро.