Mga Gawa ng Nagsisimula Upang BASH - Part 1 - Hello World

Mayroong maraming mga gabay sa internet na nagpapakita kung paano gumawa ng mga script ng Shell gamit ang BASH at ang gabay na ito ay naglalayong magbigay ng isang bahagyang naiiba magsulid dahil ito ay nakasulat sa pamamagitan ng isang tao na may napakakaunting shell scripting karanasan.

Ngayon ay maaari mong isipin na ito ay isang hangal na ideya ngunit nakita ko na ang ilang mga gabay na makipag-usap sa iyo na kung ikaw ay isang dalubhasa at iba pang mga gabay tumagal ng masyadong mahaba upang i-cut sa paghabol.

Habang ang aking Linux / UNIX shell scripting experience ay limitado, ako ay isang software developer sa pamamagitan ng kalakalan at ako ay isang dab kamay sa scripting wika tulad ng PERL, PHP at VBScript.

Ang punto ng patnubay na ito ay matututuhan mo habang natututo ako at ang anumang impormasyon na kinukuha ko ay ipapasa ko sa iyo.

Nagsisimula

May malinaw na maraming teorya na maaari kong ipasa sa iyo kaagad tulad ng naglalarawan sa iba't ibang uri ng shell at ang mga pakinabang ng paggamit ng BASH sa KSH at CSH.

Karamihan sa mga tao kapag natututo ang isang bagong bagay na nais na tumalon at magsimula sa ilang mga praktikal na aralin muna at sa isip na hindi ko kayo bibigyan ng mga bagay na walang kabuluhan na hindi mahalaga ngayon.

Ang kailangan mo lamang para sa pagsunod sa gabay na ito ay isang text editor at isang terminal na tumatakbo BASH (ang default na shell sa karamihan sa mga distribusyon ng Linux).

Mga Editor ng Teksto

Iba pang mga gabay na nabasa ko ay iminungkahi na kailangan mo ng isang editor ng teksto na kinabibilangan ng color coding ng mga command at ang mga pinapayong editor ay alinman sa VIM o EMACS .

Ang kulay ng coding ay maganda habang nagha-highlight ito ng mga utos habang nagta-type ka sa mga ito ngunit para sa ganap na beginner maaari mong gastusin ang unang ilang linggo na pag-aaral ng VIM at EMACS nang walang pagsusulat ng isang solong linya ng code.

Mula sa dalawa mas gusto ko ang EMACS ngunit upang maging matapat Mas gusto kong gumamit ng isang simpleng editor tulad ng nano , gedit o leafpad.

Kung sumusulat ka ng mga script sa iyong sariling computer at alam mo palagi kang may access sa isang graphical na kapaligiran pagkatapos ay maaari mong piliin ang editor na pinakamahusay na gumagana para sa iyo at maaaring ito ay alinman sa graphical tulad ng GEdit o isang editor na nagpapatakbo ng direkta sa terminal tulad ng nano o vim.

Para sa mga layunin ng patnubay na ito ay gagamitin ko ang nano bilang naka-install na natively sa karamihan ng mga distribusyon ng Linux at kaya malamang na magkakaroon ka ng access dito.

Pagbubukas ng Terminal Window

Kung gumagamit ka ng pamamahagi ng Linux na may graphical desktop tulad ng Linux Mint o Ubuntu maaari mong buksan ang isang terminal window sa pamamagitan ng pagpindot sa CTRL + ALT + T.

Saan Upang Ilagay ang iyong mga Script

Para sa mga layunin ng tutorial na ito maaari mong ilagay ang iyong mga script sa isang folder sa ilalim ng iyong home folder.

Sa loob ng isang terminal window tiyaking nasa iyong home folder sa pamamagitan ng pag-type ng sumusunod na command:

cd ~

Ang cd command ay nakatayo para sa direktoryo ng pagbabago at ang tilde (~) ay isang shortcut para sa iyong home folder.

Maaari mong suriin na nasa tamang lugar ka sa pamamagitan ng pag-type ng sumusunod na command:

pwd

Ang pwd command ay sasabihin sa iyo ang iyong kasalukuyang nagtatrabaho direktoryo (kung saan ikaw ay nasa direktoryo ng puno). Sa aking kaso bumalik ito / home / gary.

Ngayon ay malinaw na hindi mo nais na ilagay ang iyong mga script nang diretso sa folder sa bahay upang lumikha ng isang folder na tinatawag na mga script sa pamamagitan ng pag-type ng sumusunod na command.

mkdir script

Baguhin sa folder ng bagong script sa pamamagitan ng pag-type ng sumusunod na command:

cd script

Ang Iyong Unang Aklat

Ito ay kaugalian kapag ang pag-aaral kung paano mag-program upang gawin ang unang programa lamang output ang mga salitang "Hello World".

Mula sa loob ng folder ng iyong script, ipasok ang sumusunod na command:

nano helloworld.sh

Ipasok mo ang sumusunod na code sa window ng nano.

#! / bin / bash echo "kumusta sa mundo"

Pindutin ang CTRL + O upang i-save ang file at CTRL + X upang lumabas sa nano.

Ang script mismo ay binubuo tulad ng sumusunod:

Ang #! / Bin / bash ay kailangang maisama sa itaas ng lahat ng mga script na isusulat mo habang pinapayagan nito ang mga interprete at ang operating system na malaman kung paano pangasiwaan ang file. Talaga lang tandaan na ilagay ito at kalimutan kung bakit ginagawa mo ito.

Ang pangalawang linya ay may iisang utos na tinatawag na echo na nag-output ng teksto na agad na sinusundan ito.

Tandaan na kung nais mong magpakita ng higit sa isang salita kailangan mong gumamit ng double quotes (") sa paligid ng mga salita.

Maaari mo na ngayong patakbuhin ang script sa pamamagitan ng pag-type ng sumusunod na command:

sh helloworld.sh

Ang mga salitang "halo mundo" ay dapat lumitaw.

Ang isa pang paraan upang patakbuhin ang mga script ay ang mga sumusunod:

./helloworld.sh

Ang mga pagkakataon na kung patakbuhin mo ang command na iyon sa iyong terminal kaagad makakakuha ka ng error sa pahintulot.

Upang magbigay ng mga pahintulot upang patakbuhin ang script sa ganitong paraan i-type ang mga sumusunod:

sudo chmod + x helloworld.sh

Kaya ano talaga ang nangyari doon? Bakit mo ma-run sh helloworld.sh nang hindi binabago ang mga pahintulot ngunit tumatakbo ./helloworld.sh sanhi ng isang isyu?

Ang unang paraan ay naglo-load ng bash interpreter na kumukuha ng helloworld.sh bilang isang input at gumagana kung ano ang gagawin sa mga ito. Ang bash interpreter ay may mga pahintulot na tumakbo at kailangan lamang na patakbuhin ang mga utos sa script.

Ang ikalawang pamamaraan ay nagbibigay-daan sa operating system na magtrabaho kung ano ang gagawin sa script at samakatuwid ito ay nangangailangan ng isang maipapatupad na bit upang maisagawa.

Ang script sa itaas ay ok ngunit ano ang mangyayari kung nais mong ipakita ang mga panipi?

Mayroong iba't ibang mga paraan upang makamit ito. Halimbawa, maaari kang maglagay ng backslash bago ang mga panipi tulad ng sumusunod:

echo \ "hello world \"

Ito ay bubuo ng output na "hello world".

Maghintay ng isang minuto bagaman, paano kung gusto mong ipakita ang \ "hello world \"?

Well maaari mong makatakas ang mga karakter sa pagtakas pati na rin

echo \\ "\" kumusta mundo \\ "\"

Ito ay bubuo ng output \ "hello world \".

Ngayon alam ko kung ano ang iniisip mo. Ngunit talagang gusto kong ipakita ang \\ "\" kumusta sa mundo \\ "\"

Ang paggamit ng echo sa lahat ng mga character na makatakas ay maaaring makakuha ng lubos na ulok. May isang alternatibong command na magagamit mo na tinatawag na printf.

Halimbawa:

printf '% s \ n' '\\ "\" halo mundo \\ "\"'

Tandaan na ang teksto na gusto naming ipakita ay nasa pagitan ng iisang quote. Ang output ng printf ay nagpapadala ng teksto mula sa iyong script. Ang ibig sabihin ng% s ay ipapakita nito ang isang string, ang output ng isang bagong linya.

Buod

Hindi namin talaga sakop maraming lupa sa bahagi ng isa ngunit inaasahan namin na ang iyong unang script gumagana.

Sa susunod na bahagi ay titingnan namin ang pagpapabuti sa hello world script upang ipakita ang teksto sa iba't ibang kulay, tanggapin at panghawakan ang mga parameter ng input, mga variable at pagkomento sa iyong code.