Баштагандарга колдонмо Баш - Part 1 - Hello World

Баш колдонуп Shell скрипттерин түзүү көрсөтүү Интернет жол аз эмес жана бул жол абдан аз номиналдык скрипт тажрыйбасы бар бирөө тарабынан жазылган, анткени бир аз башкачараак ийрибейт берүүгө багытталган.

Азыр болсо, сиз, бул акмактык идея деп ойлошу мүмкүн, бирок мен кандайдыр бир жол мурунтан эле эксперт болуп силерге келсе, сүйлөшүү жана башка жол кууп кыйып көп убакытты талап экенин байкадым.

Менин Linux / Unix кабыгы скрипт тажрыйбасы чектелүү жатышкандыктан, мен соода менен программалык камсыздоону иштеп жатам, мен, мисалы, Perl, PHP жана кодни катары скрипт тилдеринде бир Жонадап колу жатам.

Бул колдонмодо пункту сен мен үйрөнүп, билип, мен көтөрүп жүрсүн кандай гана маалымат болбосун, сен үчүн күнү болот.

баштоо

Мындай баяндаган болуп түз эле силерге Мен теориясынын бир топ, албетте, жок болуп өткөн катмары ар кандай түрлөрүн KSH жана CSH үстүнөн Баш колдонуу жана артыкчылыктары.

Көпчүлүк адамдар акыл-жаңы нерсени үйрөнүп экенин жана кээ бир практикалык сабактар ​​менен биринчи жана баштайлы секирип келет, мен төрөп азыр маанилүү эмес, майда-барат нерселер менен сага бара жатам.

Эгер бул жол төмөнкүлөр үчүн зарыл болгон бардык текст редактору жана терминал иштеп жатат BASH (көпчүлүк Linux таркатуунун демейки кабыгы) болуп саналат.

Текст Редакторлор

Мен окуган башка жол сага буйрук жана сунуш редакторлор боёктор камтыган текст редактор да бар болушу керек деп кооптонушат VIM же Emacs .

Боёктор, анда силер аны терип, бирок абсолюттук Баштоочу үчүн сиз кодду бир сабын жазып туруп VIM жана Emacs окутуу бир нече жума бөлө турган буйруктарды баса эле жакшы болот.

Мен чынчыл болууга, ал эми Emacs артык эки ичинен мен сыяктуу жөнөкөй редактору колдонууну каалашат нано , Gedit же leafpad.

Эгер өз компютерин скрипттерди жазып жатса, сен ар дайым бир жуурулушуу чөйрөгө ээ болот анда редактор Gedit силер үчүн мыкты иштейт жана ал да режими андай болушу мүмкүн же терминалынан түздөн-түз чуркап редактор тандай алат Nano же VIM сыяктуу.

Бул колдонмодо максаттары үчүн мен Linux таратууну көпчүлүк тилинде чет орнотулган эле нано менен болот жана аны пайдалануу мүмкүнчүлүгүнө ээ болот, ошондуктан мүмкүн.

Ачып жаткан Терминал Терезеси

Эгер, мисалы, Linux Mint же Ubuntu катары жуурулушуу Эмма менен Linux бөлүштүрүү колдонуп жаткан болсо, Ctrl + Alt + Т. басуу менен терминалдык терезени ачуу болот

Кайда үчүн Сиздин Scripts

Бул үйрөткүч максаттары үчүн сиз үй папкасында папкасына суроолор жардам берет.

Айыкпас терезенин ичинде төмөнкү буйрукту терүү аркылуу үй папкасында менен камсыз кылуу керек:

CD ~

CD буйрук өзгөртүү каталогуна жактайт Жакыяга (~) үй папка үчүн кыска жол болуп саналат.

Сиз төмөнкү буйрукту терүү аркылуу туура жерде экенин текшере алат:

сырсөздү

сырсөздү буйрук сизге ушул иш каталогун (сиз каталог дарагы бар) айтып берет. Менин учурда кайтарылып / сырттан / Гари.

Эми, албетте, Сиз скрипттерин түз үй папкага салып төмөнкү буйрукту терүү аркылуу скрипттерди аталган папканы түзүү үчүн каалаган эмес.

mkdir ариптерин

жаңы жазмалар папкасында салып өзгөртүү төмөнкү буйрукту терүү аркылуу:

CD ариптерин

Биринчи Script

сөздөрдү биринчи программасы жөн чыгаруу "Hello World" үчүн программалык үйрөнүү Бул салт.

суроолор ичинде төмөнкү команданы терүүгө:

нано helloworld.sh

Азыр нано терезесине төмөнкү кодду кирет.

#! / Бин / Баш Эхо "деп жазып дүйнө"

Пресс-CTRL +, оо, нано чыгуу үчүн папка, CTRL + X куткаруу үчүн жиберди.

скрипт өзү төмөнкүлөр түзөт:

#! / Бин / Баш бардык скриптердин жагындагы киргизилиши керек, ал тилмечтер жана системасы билэни кантип ачып берет деп жаз. Негизинен эле коюп, аны эмне жөнүндө унутууга эсимде.

экинчиси дароо аны төмөнкүдөй текстти незизделген Эхо деп аталган бир буйрук бар.

Эгерде бир эмес, бир нече сөздү кошо келсе, сөзгө экилик тырмакчаны ( ") колдонуу керек деп белгилешет.

Сиз эми төмөнкү буйрукту терүү аркылуу скриптер болот:

Sh helloworld.sh

сөздөр "деп жазып дүйнө" пайда болушу керек.

скрипттерин иштетүү үчүн дагы бир жолу төмөнкүчө чагылдырууга болот:

./helloworld.sh

балким сиз дароо сенин терминалынан буйрукту чуркап, анда Уруксат ката деп саналат.

ушундай жол менен төмөнкү терип скриптер уруксат берүү:

Sudo CHMOD + х helloworld.sh

Демек, эмне үчүн ошол эмне болгон? Эмне үчүн уруксат өзгөрүп, бирок иштеп ./helloworld.sh жок Sh helloworld.sh иштете албай бир маселе пайда болгон?

Биринчи ыкма киргизүү катары helloworld.sh алат жана аны менен эмне кылуу керек иштейт Баш тилмечти жүктөйт. Баш котормочу эле чуркап уруксат бар эле ариби менен буйруктарын чуркап керек.

Экинчи ыкма иштетүү системасы ариби менен кандай иштеп берет, ошондуктан, аны ишке ашыруу үчүн бир Аткаруучу аз талап кылат.

Жогоруда жазуусу макул болду, бирок эмне тырмакчага кошо келсе, эмне болот?

Ушул максатка жетишүү үчүн ар кандай жолдору бар. Мисалы, төмөнкүдөй деп тырмакчага алдында кыйшык жардам берет:

Эхо \ "деп жазып дүйнө \"

Бул чыгарылышты "Hello World" дегенди берет.

Бирок, эмне \ "деп жазып дүйнөнү \" өзгөрүүлөр келсе, бир аз күтө турчу?

Ооба, сиз ошондой эле качып каармандарды кутула албайт

Эхо \\ "\" деп жазып дүйнөдөгү \\ "\"

Бул "деп жазып дүйнө \" \ тыянактарды чыгарууга болот.

Азыр мен силер эмне жөнүндө ойлонуп жатканын билебиз. Бирок, мен чындап эле "\" деп жазып дүйнөдөгү \\ "\" \\ өзгөрүүлөр келет

Булардын баары качып тамгалардын менен чагылдырып колдонуу абдан акылсыз ала аласыз. Эгер аталган printf колдоно аласыз Башка буйрук бар.

Мисалы:

printf '% с \ н' '\\ "\" деп жазып дүйнө \\ "\"

Биз көрсөтүү үчүн каалаган текст бир тырмакчага ортосундагы экенин белгилешет. Сиздин жазуудан printf буйрук чыгаруу текст. % S бул сап көрсөтүшөт, \ н бир жаңы сапты чыгарат дегенди билдирет.

Жыйынтык

Биз чынында эле бир бөлүгүндө көп жерди басып алган жокпуз, бирок, балким, сен биринчи жолу жазма жумуш бар.

Кийинки бөлүктө болсо, биз жазып койбойлубу дүйнөлүк арибин жакшыртуу карап ар кандай түстүү текст өзгөрүүлөр болот, киргизүү параметрлерин кабыл алуу жана туура, өзгөрмөлөр жана кодду жорум.