Beginners Guide To BASH - Part 1 - Nyob zoo lub ntiaj teb

Muaj ntau cov ntawm cov hauv internet uas qhia yuav ua li cas los tsim lub plhaub Scripts siv BASH thiab daim ntawv qhia no qhia kom muab ib lub me me sib txawv vim nws yog sau los ntawm leejtwg uas muaj kev txuag tsawg heev scripting.

Tam sim no koj yuav xav hais tias qhov no yog ib lub tswv yim ua dag tab sis kuv pom tias ib txhia ntawm cov neeg hais lus rau koj li yog tias koj twb yog ib tug kws tshaj lij thiab lwm cov coj siv sij hawm dhau mus txiav kev caum.

Whilst kuv cov LINUX / UNIX plhaub scripting kev txwv, Kuv yog ib tug tsim tawm software los ntawm kev lag luam thiab kuv yog ib tes dab tes ntawm scripting cov lus xws li PERL, PHP thiab VBScript.

Lub ntsiab lus ntawm phau ntawv qhia no yog qhov koj yuav kawm tau thaum kuv kawm thiab txhua yam lus qhia kuv tuaj tos kuv yuav dhau mus rau koj.

Pib Tau

Muaj ntau txoj kev xav hais tias kuv yuav kis tau rau koj ncaj qha xws li piav txog ntau hom kab hauv plhaub thiab qhov zoo ntawm kev siv TSHAJ HEEV KSH thiab CSH.

Feem ntau cov neeg thaum kawm tau ib yam tshiab xav xav dhia hauv thiab pib nrog ib co tswv yim ua ntej thiab nrog ntawd nco kuv tsis mus coj koj nrog trivia uas tsis tseem ceeb tam sim no.

Txhua yam koj xav tau ua raws li phau ntawv qhia no yog cov ntawv nyeem thiab lub davhlau ya nyob twg khiav KOM YEEJ (lub neej ntawd plhaub ntawm feem coob ntawm Linux faib).

Text Editors

Lwm cov kev taw qhia uas kuv tau nyeem tau hais tias koj xav tau cov ntawv nyeem uas muaj xws li xim coding ntawm cov lus txib thiab cov neeg tsim khoom tawm tswv yim yog VIM los yog EMACS .

Xim coding yog zoo li nws highlights commands li koj ntaus lawv tab sis rau lub pib beginner koj yuav siv thawj ob peb lub lis piam kawm VIM thiab EMACS tsis tau sau ib kab ntawm code.

Tawm ntawm ob kuv xav EMACS tab sis yuav tsum ncaj ncees kuv xav siv ib tug yooj yim editor xws li nano , gedit los yog leafpad.

Yog hais tias koj sau cov ntawv sau rau ntawm koj tus kheej lub computer thiab koj paub tias koj yuav tau muaj ib qhov chaw graphical ces koj tuaj yeem xaiv tus editor uas ua haujlwm zoo tshaj plaws rau koj thiab nws yuav yog graphical xws li GEdit lossis tus editor uas sau ncaj nraim rau hauv lub davhlau ya nyob twg xws li nano los yog vim.

Rau cov hom phiaj ntawm phau ntawv qhia no kuv yuav siv nano raws li nws tau muab siv rau ntawm feem coob ntawm Linux faib thiab nws yog li ntawd tej zaum koj yuav tau nkag mus rau nws.

Qhib Lub Qhov Chaw Loj Hlav

Yog tias koj siv lub Linux faib nrog graphical duab xws li Linux Mint lossis Ubuntu koj tuaj yeem qhib lub qhov davhlau ya dav hlau los ntawm nias CTRL + ALT + T.

Qhov Chaw Yuav Muab Koj Cov Lus Qhuab Qhia

Rau cov hom phiaj ntawm qhov kev nyeem no koj tuaj yeem sau koj cov ntawv sau tseg rau hauv ib phau ntawv ceev tseg hauv koj phau ntawv pov thawj tsev.

Tsis pub dhau lub davhlau ya nyob twg yuav tsum paub tseeb tias koj nyob hauv koj phau ntawv pov thawj tsev yog sau cov lus qhia nram qab no:

cd ~

Lub cd hais kom ua rau kev hloov directory thiab lub tilde (~) yog ib qho ua kom luv rau koj cov ntawv nplaub tshev tsev.

Koj tuaj yeem tshawb xyuas tias koj nyob hauv qhov chaw yog los ntawm sau cov lus hais nram qab no:

pw

Cov lus hais kom pw yuav qhia koj rau koj qhov chaw ua hauj lwm tam sim no (qhov twg koj nyob hauv cov nplooj ntoo). Hauv kuv cov ntaub ntawv nws rov qab los / tsev / gary.

Tam sim no obviously koj yuav tsis xav muab koj cov ntawv sau ncaj nraim mus rau hauv daim nplaub tshev tom tsev thiaj li tsim ib phau ntawv hu ua cov ntawv sau los ntawm kev sau cov lus hais hauv qab no.

mkdir ntawv sau

Hloov rau hauv cov ntawv sau tshiab tshiab los ntawm kev sau cov lus qhia nram qab no:

cd ntawv sau

Koj Thawj Tsab Ntawv

Nws yog txoj kev cai lij choj thaum kawm txog yuav ua li cas rau qhov kev zov me nyuam ua tus thawj qhov kev kawm yooj yim tawm cov lus "Hello World".

Los ntawm hauv koj cov ntawv sau ciaj cug sau rau nram qab no:

nano helloworld.sh

Tam sim no nkag mus rau cov cai nram qab no rau hauv lub nano qhov rai.

#! / bin / bash ncha "nyob zoo lub ntiaj teb"

Nias CTRL + O kom txuag tau cov ntaub ntawv thiab CTRL + X tawm nano.

Tsab ntawv nws tus kheej tau ua raws li nram no:

Lub #! / Bin / bash yuav tsum tau muaj nyob rau saum toj ntawm tag nrho cov ntawv sau koj sau thaum nws cia cov neeg txhais lus thiab cov kev khiav hauj lwm paub yuav ua li cas los leg cov ntaub ntawv. Yeej cia li nco ntsoov muab tso rau hauv thiab nco txog vim li cas koj ua.

Qhov thib ob kab muaj ib lo lus txib hu ua echo uas tawm hauv cov ntawv nyeem tam sim ntawd.

Nco ntsoov tias yog koj xav tso ntau dua ib lo lus koj yuav tsum siv ob nqe lus (") nyob ib ncig ntawm cov lus.

Koj tuaj yeem khiav ntawm tsab ntawv los ntawm sau cov lus qhia nram no:

sh helloworld.sh

Cov lus "nyob zoo hauv ntiaj teb" yuav tsum tshwm sim.

Lwm txoj kev los khiav cov ntawv sau zoo li nram no:

./helloworld.sh

Qhov yuav muaj yog tias koj khiav qhov kev hais kom ua hauv koj lub davhlau ya nyob ncaj tam sim ntawd koj yuav tau txais kev yuam kev tso cai.

Kom tso cai rau kev tso cai khiav los ntawm tsab ntawv no ua li nram qab no:

sudo chmod + x helloworld.sh

Yog li cas tiag tshwm sim muaj? Vim li cas koj thiaj li khiav tau h hinge.sham tsis hloov kev tso cai tab sis khiav ./helloworld.sh ua rau muaj qhov teeb meem?

Tus thawj txoj kev nce cov neeg txhais lus rau kev sib tw uas siv lub helloworld.sh ua ib qho kev tawm tswv yim thiab ua haujlwm tawm yam uas nws ua. Cov neeg txhais lus bash twb muaj kev tso cai khiav thiab tsuas xav tau khiav cov lus txib hauv tsab ntawv.

Qhov thib ob hom cia lub operating system ua hauj lwm seb yuav ua li cas nrog tsab ntawv thiab yog li ntawd nws yuav tsum tau ib tug me ntsis executable nyob rau hauv thiaj li yuav ua.

Cov ntawv saum toj saud yog tau zoo tiam sis ua li cas yog tias koj xav muab cov lus piav qhia?

Muaj ntau txoj hauv kev los ua qhov no. Piv txwv li koj tuaj yeem muab tus backslash ua ntej cov lus hais raws li hauv qab no:

echo \ "nyob zoo hauv ntiaj teb \"

Qhov no yuav tsim cov zis "nyob zoo hauv ntiaj teb".

Tos ib feeb li ntawd, yog tias koj xav ua kom pom tias "nyob zoo hauv ntiaj teb"?

Zoo koj yuav khiav tau txoj kev khiav tawm cim zoo li

echo \ "\" nyob zoo nyob ntiaj teb \\ "\"

Qhov no yuav tsim cov zis \ "nyob zoo hauv ntiaj teb \".

Tam sim no kuv paub tias koj xav li cas. Tab sis kuv yeej xav tso saib \ "\" nyob zoo ntiaj teb \\ "\"

Siv cov lus hais nrog txhua tus neeg txoj kev khiav tawm no kuj tuaj yeem ua dag heev. Muaj lwm cov lus txib koj siv tau hu ua printf.

Piv txwv li:

printf '% s \ n' '\\ "\" hello ntiaj teb \ "\"'

Nco ntsoov tias cov ntawv peb xav kom pom yog nyob ntawm cov quotes nkaus xwb. Tus txiav txim ntawm printf outputs cov ntawv luam tawm ntawm koj tsab ntawv. Tus% s txhais tau hais tias nws yuav tso ib txoj hlua, tus \ npuav tawm ib txoj kab tshiab.

Txoj kev xaus

Peb tsis tau npog ntau ntau hauv av tiamsis cia siab tias koj muaj koj thawj tsab ntawv ua haujlwm.

Nyob rau sab tom ntej peb yuav tau saib kev txhim kho hauv tsab ntawv nyob hauv ntiaj teb los tso saib cov ntawv hauv cov xim sib txawv, txais thiab tuav cov tswv yim, cov haujlwm thiab cov ncauj lus txog koj cov cai.