Ръководство за начинаещи за BASH - Част 1 - Здравей свят

Има много ръководства в интернет, показващи как да създавате Shell скриптове, използващи BASH, и това ръководство има за цел да даде малко по-различно завъртане, защото е написано от някой, който има много малко опит в скрипта на Shell.

Сега може да си помислите, че това е глупава идея, но смятам, че някои водачи говорят с вас, сякаш вече сте експерт и други ръководства отнемат твърде дълго, за да се откажат от преследването.

Докато моето LINUX / UNIX shell скриптово преживяване е ограничено, аз съм разработчик на софтуер от търговията и съм дробова ръка на скриптови езици като PERL, PHP и VBScript.

Въпросът на това ръководство е, че ще научите, както научавам, и всякаква информация, която получавам, ще ви предам.

Приготвяме се да започнем

Очевидно има много теория, която мога да ви предам веднага, като например описанието на различните видове черупки и предимствата на използването на BASH над KSH и CSH.

Повечето хора, когато учат нещо ново, искат да се захващат и първо да започнат някои практически уроци и с това да мисля, че няма да ви отегчавам с любопитни факти, които в момента не са важни.

Всичко, от което се нуждаете, за да следвате това ръководство, е текстов редактор и терминал, изпълняващ BASH (по подразбиране за повечето Linux дистрибуции).

Текстови редактори

Другите ръководства, които прочетох, са предполагали, че се нуждаете от текстов редактор, който включва цветово кодиране на командите и препоръчаните редактори са VIM или EMACS .

Цветното кодиране е хубаво, тъй като подчертава командите, докато ги въвеждате, но за абсолютния начинаещ човек бихте могли да прекарате първите няколко седмици, като научите VIM и EMACS, без да пишете един ред от код.

От двете предпочитам EMACS, но за да бъда честен предпочитам да използвам прост редактор като нано , gedit или leafpad.

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

За целите на това ръководство ще използвам нано, тъй като се инсталира нативно на повечето Linux дистрибуции и затова е вероятно да имате достъп до него.

Отваряне на прозорец на терминал

Ако използвате Linux дистрибуция с графичен десктоп като Linux Mint или Ubuntu, можете да отворите терминален прозорец, като натиснете CTRL + ALT + T.

Къде да сложите вашите скриптове

За целите на този урок можете да поставите скриптовете си в папка под вашата домашна папка.

В рамките на терминален прозорец се уверете, че сте в домашната си папка, като въведете следната команда:

cd ~

Командата cd означава директория за промяна и tilda (~) е пряк път за вашата домашна папка.

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

хората с увреждания

Командата pwd ще ви разкаже настоящата работна директория (където сте в дървото на директориите). В моя случай се върна / home / gary.

Сега очевидно няма да искате да поставите скриптовете директно в домашната папка, затова създайте папка, наречена скриптове, като напишете следната команда.

mkdir скриптове

Променете в папката на новите скриптове, като въведете следната команда:

cd скриптове

Вашият първи скрипт

Обичайно е, когато се научите как да програмирате първата програма, просто извеждате думите "Здравей свят".

От папката на скриптовете си въведете следната команда:

nano helloworld.sh

Сега въведете следния код в нанопрозореца.

#! / bin / bash ехо "Здравей свят"

Натиснете CTRL + O, за да запазите файла и CTRL + X, за да излезете нано.

Самият сценарий е съставен по следния начин:

Базата #! / Bin / bash трябва да бъде включена в горната част на всички скриптове, които пишете, тъй като позволява на преводачите и операционната система да знаят как да обработват файла. По принцип не забравяйте да го поставите и да забравите защо го правите.

Вторият ред има една команда, наречена ехо, която извежда текста, който веднага го следва.

Имайте предвид, че ако искате да покажете повече от една дума, трябва да използвате двойни кавички (") около думите.

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

sh helloworld.sh

Трябва да се появят думите "Здравей свят".

Друг начин за изпълнение на скриптове е следният:

./helloworld.sh

Шансовете са, че ако пуснете командата в терминала веднага, ще получите грешка в разрешенията.

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

sudo chmod + x helloworld.sh

И така, какво всъщност се случи там? Защо успяхте да стартирате sh helloworld.sh без да променяте разрешенията, но тичайки ./helloworld.sh причинихте проблем?

Първият метод зарежда баш интерпретатора, който приема helloworld.sh като вход и изработва какво да прави с него. Баш преводачът вече има разрешения за изпълнение и просто трябва да изпълни командите в скрипта.

Вторият метод позволява на операционната система да разработи какво да прави със скрипта и затова тя изисква изпълним бит, за да се изпълни.

Горният скрипт беше добре, но какво ще стане, ако искате да покажете кавичките?

Има различни начини да се постигне това. Например можете да поставите обратно наклонена черта преди кавичките, както следва:

ехо \ "здравей свят \"

Това ще доведе до изхода "hello world".

Изчакайте още минута, какво ще стане, ако искате да покажете "Здравей свят"?

Е, можете да избягате и от героите за бягство

echo \\ "\" Здравей свят \\ "\"

Това ще доведе до продукцията \ "hello world \".

Сега знам какво мислите. Но наистина искам да покажа \\ "\" hello world \\ "\"

Използването на ехо с всички тези евакуационни герои може да стане доста глупаво. Има алтернативна команда, която можете да използвате, наречена printf.

Например:

printf '% s \ n "" \\ "\" Здравей свят \\ "\"

Имайте предвид, че текстът, който искаме да покажем, е между единични кавички. Командата printf извежда текст от вашия скрипт. % S означава, че ще покаже низ, \ n извежда нов ред.

резюме

Всъщност в първата част не сме покрили много, но се надяваме, че имате първия си скрипт.

В следващата част ще разгледаме подобренията в скрипта hello world за показване на текст в различни цветове, приемане и обработка на входните параметри, променливи и коментиране на вашия код.