Ёсць мноства кіраўніцтваў ў Інтэрнэце, якое паказвае, як ствараць скрыпты 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 пазначае каталог змяненняў і тыльды (~) ярлык для вашай хатняй тэчкі.
Вы можаце праверыць, што вы знаходзіцеся ў правільным месцы, набраўшы наступную каманду:
PWDPWD каманда пакажа вам свой сапраўдны працоўны каталог (дзе вы знаходзіцеся ў дрэве каталогаў). У маім выпадку ён вярнуўся / дом / Гэры.
Цяпер, відавочна, вы не хочаце, каб пакласці вашыя скрыпты прама ў хатнюю тэчку, каб стварыць тэчку з імем сцэнарыяў, увёўшы наступную каманду.
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 азначае, што ён будзе адлюстроўваць радок, то \ п выводзіць новы радок.
рэзюмэ
Мы на самай справе не пакрытыя шмат зямель у першай частцы, але, спадзяюся, у вас ёсць ваш першы скрыпт працуе.
У наступнай частцы мы будзем глядзець на паляпшэнне на прывітанне свет сцэнары для адлюстравання тэксту ў розных колерах, прымаць і апрацоўваць ўваходныя параметры, зменныя і каментавання кода.