Кіраўніцтва для пачаткоўцаў BASH - Частка 1 - Hello World

Ёсць мноства кіраўніцтваў ў Інтэрнэце, якое паказвае, як ствараць скрыпты Shell з дапамогай BASH і гэта кіраўніцтва імкнецца даць трохі рознае кручэнне, таму што яна напісана кімсьці, хто мае вельмі мала вопыт у напісанні сцэнарыяў абалонкі.

Цяпер вы можаце падумаць, што гэта дурная ідэя, але я лічу, што некаторыя гіды кажуць вам, як быццам вы ўжо з'яўляецеся экспертам і іншыя гіды занадта доўга, каб скараціць да пагоні.

У той час як мой LINUX / UNIX вопыт сцэнарыяў абалонкі абмежаваны, я распрацоўшчык праграмнага забеспячэння па прафесіі, і я тыкаць рукой на мовах сцэнарыяў, такіх як Perl, PHP і VBScript.

Сутнасць дадзенага кіраўніцтва з'яўляецца тое, што вы даведаецеся, як я даведаюся, і любая інфармацыя, я падымаю я перадам вам.

Пачатак

Існуе , відавочна, шмат тэорыі , што я мог бы перадаць вам адразу , такія як апісваюць розныя тыпы абалонкі і перавагі выкарыстання BASH над KSH і CSH.

Большасць людзей пры вывучэнні чагосьці новага хочуць скакаць і пачаць з некаторымі практычнымі заняткамі першым і з гэтым у выглядзе, я не буду стамляць вас дробязь, што не важна цяпер.

Усё, што вам трэба для Падпісчыкаў дадзенага кіраўніцтва з'яўляецца тэкставым рэдактарам і тэрмінал працуе BASH (абалонка па змаўчанні ў большасці дыстрыбутываў Linux).

тэкставыя рэдактары

Іншыя кіраўніцтва , якія я чытаў выказалі здагадку , што вам трэба тэкставы рэдактар , які ўключае ў сябе каляровае кадаваньне каманд і рэкамендуемыя рэдактараў альбо VIM або EMACS .

Каляровае кадаваньне добра, як ён вылучае каманды, як вы іх, але для абсалютнай пачаткоўца вы маглі б правесці першыя некалькі тыдняў навучання VIM і EMACS, не напісаўшы ні радкі кода.

З двух я аддаю перавагу EMACS , але шчыра кажучы , я аддаю перавагу выкарыстоўваць просты рэдактар , напрыклад нана , Gedit або Leafpad.

Калі вы пішаце скрыпты на вашым кампутары, і вы ведаеце, што вы заўсёды будзеце мець доступ да графічным асяроддзі, то вы можаце выбраць рэдактар, які працуе лепш за ўсё для вас, і гэта можа быць альбо графічным, такія як GEdit або рэдактар, які працуе непасрэдна ў тэрмінале такіх, як нана або Vim.

Для мэт гэтага кіраўніцтва я буду выкарыстоўваць нана, як ён усталяваны першапачаткова на большасці дыстрыбутываў Linux, і таму верагоднасць таго, што вы будзеце мець доступ да яго.

Адкрыўшы акно тэрмінала

Калі вы карыстаецеся дыстрыбутыў Linux з графічным працоўным сталом, такія як Linux Mint ці Ubuntu вы можаце адкрыць акно тэрмінала, націснуўшы спалучэнне клавіш CTRL + ALT + T

Дзе Put Your Scripts

Для мэт гэтага ўроку вы можаце змясціць свае скрыпты ў тэчцы пад вашай хатняй тэчцы.

У акне тэрмінала пераканайцеся, што вы знаходзіцеся ў вашай хатняй тэчцы, увёўшы наступную каманду:

кд ~

Каманда CD пазначае каталог змяненняў і тыльды (~) ярлык для вашай хатняй тэчкі.

Вы можаце праверыць, што вы знаходзіцеся ў правільным месцы, набраўшы наступную каманду:

PWD

PWD каманда пакажа вам свой сапраўдны працоўны каталог (дзе вы знаходзіцеся ў дрэве каталогаў). У маім выпадку ён вярнуўся / дом / Гэры.

Цяпер, відавочна, вы не хочаце, каб пакласці вашыя скрыпты прама ў хатнюю тэчку, каб стварыць тэчку з імем сцэнарыяў, увёўшы наступную каманду.

MKDIR скрыпты

Пераходзім у тэчку новыя сцэнары, увёўшы наступную каманду:

CD скрыпты

Ваш першы скрыпт

Гэта звычайнае, калі навучыцца праграмаваць, каб зрабіць першую праграму проста выводзіць словы «Hello World».

Знутры тэчкі скрыптоў увядзіце наступную каманду:

нана helloworld.sh

Цяпер увядзіце наступны код у акно нана.

#! / Bin / Баш рэха "прывітанне свет"

Націсніце CTRL + O, каб захаваць файл і CTRL + X, каб выйсці з нана.

Сам сцэнар складзены наступным чынам:

#! / Bin / Баш павінен быць уключаны ў верхняй частцы ўсіх скрыптоў, якія вы пішаце, як ён дазваляе перакладчыкам і аперацыйная сістэма ведае, як апрацоўваць файл. У асноўным толькі не забудзьцеся пакласці яго і забыць пра тое, чаму вы гэта робіце.

Другая лінія мае адну каманду пад назвай рэха-сігналу, які выводзіць тэкст, які адразу ідзе за ім.

Звярніце ўвагу, што калі вы хочаце, каб адлюстраваць больш аднаго слова, вы павінны выкарыстоўваць падвойныя двукоссі ( ") вакол слоў.

Цяпер вы можаце запусціць сцэнар, увёўшы наступную каманду:

ш helloworld.sh

Словы «прывітанне свет» павінен з'явіцца.

Іншы спосаб запуску сцэнарыяў заключаецца ў наступным:

./helloworld.sh

Хутчэй за ўсё, калі вы запусціце гэтую каманду ў тэрмінале адразу, вы атрымаеце паведамленне пра памылку дазволаў.

Прадастаўленне дазволаў для запуску сцэнара такім чынам, увядзіце наступную каманду:

Sudo CHMOD + х helloworld.sh

Так што на самай справе адбылося? Чаму ў стане запусціць ш helloworld.sh без змены правоў, але працуе ./helloworld.sh выклікала пытанне вы былі?

Першы метад загружае інтэрпрэтатар Баш, які прымае helloworld.sh ў якасці ўваходных дадзеных і працуе, што рабіць з ім. Перакладчык Баш ўжо мае дазвол для запуску і проста неабходна для выканання каманд у скрыпце.

Другі метад дазваляе аперацыйнай сістэме працаваць, што рабіць са скрыптам і таму патрабуе выкананы біт для таго, каб выканаць.

Гэты сцэнар быў у парадку, але што адбудзецца, калі вы хочаце, каб адлюстраваць двукоссі?

Існуюць розныя спосабы для дасягнення гэтай мэты. Напрыклад, вы можаце паставіць зваротны слэш перад двукоссямі наступным чынам:

рэха \ «прывітанне свет \»

Гэта дасць выхад «прывітанне свет».

Пачакайце хвіліну, хоць, што калі вы хочаце адлюстраваць \ «прывітанне свет \"?

Ну вы можаце пазбегнуць экрануе сімвалаў, а таксама

рэха \\ "\" прывітанне свет \\ "\"

Гэта дасць выхад \ «прывітанне свет \".

Цяпер я ведаю, што вы думаеце. Але я сапраўды хачу, каб адлюстраваць \\ «\» прывітанне свет \\ «\»

Выкарыстанне рэха з усімі гэтымі сімваламі ўцёкаў можна атрымаць даволі дурное. Існуе альтэрнатыўная каманда, якую вы можаце выкарыстоўваць пад назвай Printf.

Напрыклад:

Printf '% s \ п' \\ "\" прывітанне свет \\ "\" '

Звярніце ўвагу, што тэкст, які мы хочам адлюстраваць у адзінарныя двукоссі. Каманда Printf выводзіць тэкст з вашага сцэнара. % S азначае, што ён будзе адлюстроўваць радок, то \ п выводзіць новы радок.

рэзюмэ

Мы на самай справе не пакрытыя шмат зямель у першай частцы, але, спадзяюся, у вас ёсць ваш першы скрыпт працуе.

У наступнай частцы мы будзем глядзець на паляпшэнне на прывітанне свет сцэнары для адлюстравання тэксту ў розных колерах, прымаць і апрацоўваць ўваходныя параметры, зменныя і каментавання кода.