Phau Ntawv Tshiab Pib Ntsuam Xyuas Kev Khiav Tsheb - Teeb Tsawg

Txais tos rau qhov thib ib ntawm Beginners Guide to BASH series uas yog nws nyob rau hauv qhov nws tsuas yog sau phau ntawv sau los ntawm tus thawj coj tshiab.

Cov neeg nyeem ntawm phau ntawv qhia no yuav txhawb lawv txoj kev paub thaum kuv txhim kho kuv txoj kev paub thiab kev cia siab los ntawm qhov kawg ntawm txhua yam peb yuav muaj peev xwm sau tau ib co kev ntse zoo sib xws.

Lub lim tiam dhau los no kuv tau tsim koj thawj tsab ntawv uas tau pom cov lus "Hello World". Nws hais txog cov ntsiab lus xws li cov ntawv kho mob, qhib qhov chaw dav dav, qhov twg yuav muab koj cov ntawv sau tseg, yuav ua li cas thiaj pom cov lus "Hello World" thiab qee cov ntsiab lus ntawm kev khiav tawm xws li quotes ("").

Lub lim tiam no kuv tab tom yuav muab cov tswv yim tsis nkag siab. Muaj lwm cov kev taw qhia uas qhia txog qhov no, tiam sis kuv pom lawv dhia mus rau hauv cov khoom qis me ntsis thiab tej zaum muab cov ntaub ntawv ntau heev.

Qhov Parameter Yog Dab Tsi?

Hauv tsab ntawv "Hello World" ntawm qhov kawg nyeem nws yog txhua yam zoo li qub. Tsab ntawv yeej tsis ua txhua yam.

Peb yuav ua li cas thiaj txhim kho tau ntawm "Hello World" tsab ntawv?

Yuav ua li cas txog ib tsab ntawv uas zoo siab rau tus neeg uas khiav nws? Tsis txhob hais tias "Nyob zoo lub ntiaj teb" nws yuav hais tias "Nyob zoo Gary", "Nyob zoo Tim" los yog "Hello Dolly".

Yog tias tsis muaj peev xwm los txais kev tawm tswv yim peb yuav tsum sau peb tsab ntawv "hellogary.sh", "hellotim.sh" thiab "hellodolly.sh".

Los ntawm kev tso cai rau peb tsab ntawv nyeem cov lus qhia peb yuav siv tau ib tsab ntawv tuaj yeem tos txais txhua tus.

Ua li no qhib tau lub davhlau ya davhlau dav hlau (CTRL + ALT + T) thiab mus rau koj cov ntawv sau tseg los ntawm sau cov nram qab no: ( txog cd hais kom ua )

cd ntawv sau

Tsim ib tsab ntawv tshiab hu ua greetme.sh los ntawm sau cov nram no: ( hais txog kev hais lus kov )

kov greetme.sh

Qhib tsab ntawv rau hauv koj txoj kev nyiam los ntawm kev sau cov nram qab no: ( txog qhov hais kom ua nano )

nano greetme.sh

Nkag mus rau cov ntawv nram no hauv nano:

#! / bin / bash ncha "nyob zoo $ @"

Nias CTRL thiab O los cawm cov ntaub ntawv thiab ces CTRL thiab X kaw cov ntaub ntawv.

Xav khiav cov ntawv sau rau hauv qab no rau hauv cov kab hais kom hloov koj lub npe.

sh greetme.sh

Yog tias kuv khiav tsab ntawv nrog kuv lub npe nws qhia cov lus "Hello Gary".

Thawj kab muaj cov kab ntawv #! / Bin / bash uas yog siv los txheeb xyuas cov ntaub ntawv ua daim ntawv bash.

Qhov thib ob kab siv lo lus ncha mus rau lo lus hello thiab ces yog qhov $ @ cim coj txawv txawv. ( hais txog kev hais lus ncha )

Tus $ @ expands los tso saib txhua qhov parameter uas tau nkag mus nrog rau tsab ntawv lub npe. Yog li ntawd, yog tias koj ntaus ntawv "sh greetme.sh tim" lo lus "nyob zoo hauv lub siab" yuav raug xa tawm. Yog hais tias koj ntaus ntawv "greetme.sh tim smith" ces cov lus "nyob zoo tim smith" yuav tshwm.

Tej zaum nws yuav zoo rau kev sau ntawv ntawm cov neeg tau txais kev pab zoo dua tuaj hais hauv lub tsev zoo li yog thawj lub npe. Tsis muaj leej twg hais tias "hello gary newell" thaum lawv ntsib kuv, lawv yuav hais tias "hello gary" ho.

Peb hloov tsab ntawv kom nws tsuas yog siv thawj qhov kev ntsuas. Qhib cov ntawv sau nyob rau hauv nano los ntawm kev sau cov nram qab no:

nano greetme.sh

Hloov tsab ntawv kom nws nyeem raws li hauv qab no:

#! / bin / bash ncha "nyob zoo $ 1"

Txuag tsab ntawv los ntawm nias CTRL thiab O thiab tawm ces nias CTRL thiab X.

Khiav cov ntawv raws li qhia hauv qab (hloov kuv lub npe nrog koj li):

sh greetings.sh gary newell

Thaum koj khiav tawm tsab ntawv nws tsuas yog hais tias "nyob zoo" (los yog hopefully "nyob zoo" thiab txawm koj lub npe yog dab tsi.

Tus 1 tom qab lub $ cim pib hais rau qhov hais kom ceev ncho, siv thawj tus parameter. Yog tias koj hloov $ 1 nrog $ 2 ces nws yuav tso saib "nyob zoo dua tshiab" (los xijpeem koj lub npe yog).

Incidentally yog tias koj hloov $ 2 nrog ib $ 3 thiab khiav hauv tsab ntawv nrog xwb 2 tsis tso zis yuav tsuas yog "Nyob zoo".

Nws yog tau mus tso saib thiab lis tus xov tooj ntawm cov tsis tau nkag thiab tom qab tutorials kuv yuav tau qhia seb yuav siv qhov kev ntsuas qhov twg rau validation.

Yuav tso saib cov naj npawb ntawm cov tsis tau nkag rau hauv cov ntawv sau rau hauv greetme.sh (nano greetme.sh) thiab kho cov ntawv nyeem raws li hauv qab no:

#! / bin / bash ncha "koj nkag mus $ # npe" ncha "nyob zoo @ @"

Nias CTRL thiab O txuag tsab ntawv thiab CTRL thiab X kom tawm nano.

Qhov $ # ntawm kab thib 2 qhia txog cov xov tooj tsis nkag hauv.

Yog li deb tag nrho cov ntawm no tau tshiab tab sis tsis heev pab. Leej twg xav tau tsab ntawv uas tsuas yog hais tias "nyob zoo"?

Cov kev siv tiag tiag rau cov lus hais echo yog los muab cov lus qhia meej thiab muaj nuj nqis rau cov neeg siv. Yog tias koj xav hais tias koj xav ua ib yam dab tsi nyuab uas muaj qee tus loj zuj zus crunching thiab ntaub ntawv / ceev manipulation nws yuav pab tau rau cov neeg siv dab tsi yog tshwm sim txhua kauj ruam ntawm txoj kev.

Ntawm qhov sib txawv, cov tswv yim tsis ua rau koj tsab ntawv sib tham. Tsis muaj cov lus qhia koj xav tau kaum ob ntawm cov ntawv sau ua txhua yam tab sis muaj npe txawv me ntsis.

Nrog tag nrho cov ntawm no hauv hlwb muaj qee yam kev tawm tswv yim tsis tau hais tias nws yog ib lub tswv yim zoo kom paub thiab kuv yuav suav tag nrho hauv ib qhov chaws snippet.

Qhib li koj cov ntawv sau rau hauv greetme.sh thiab hloov raws li hauv qab no:

#! / bin / bash ncha "Filename: $ 0" Nchaiv "Txheej txheem ID: $$" echo "---------------------------- --- "echo" koj nkag mus hauv # npe "echo" nyob zoo nrog @ @ "

Nias CTRL thiab O txuag cov ntaub ntawv thiab CTRL thiab X tawm.

Tam sim no khiav cov ntawv (hloov nrog koj lub npe).

sh greetme.sh

Lub sijhawm no tsab ntawv teev lus qhia nram qab no:

Filename: greetme.sh Txheej Txheem ID: 18595 ------------------------------ koj nkag mus npe 2 npe nyob rau hauv gary newell

Qhov $ 0 ntawm thawj kab ntawm tsab ntawv sau qhia lub npe ntawm cov ntawv koj tau khiav. Nco ntsoov tias nws yog duas xoom thiab tsis duas o.

Tus $$ ntawm kab thib ob qhia txog tus txheej txheem ntawm cov ntawv koj tau khiav. Vim li cas qhov no pab tau? Yog tias koj tab tom khiav ib tsab ntawv teev lus tseg rau hauv koj lub peev xwm koj rho tawm tau los ntawm kev nias ntawm CTRL thiab C. Yog tias koj khiav tawm tsab ntawv hauv keeb kwm yav dhau thiab nws pib looping thiab ua qhov qub tshaj los yog pib ua kev puas tsuaj rau koj lub cev koj xav tau los tua nws.

Tua ib tsab ntawv khiav hauv cov tom qab koj xav tau cov txheej txheem ntawm tsab ntawv. Wouldn 't nws ua tau zoo yog tias tsab ntawv muab cov txheej txheem id ua ib feem ntawm nws cov zis. ( txog ps thiab tua commands )

Thaum kawg ua ntej kuv pib nrog lub npe no kuv xav tham txog qhov twg cov zis mus. Txhua txhua lub sij hawm tsab ntawv tau khiav kom deb li deb tau tso tawm tau tso tawm ntawm qhov screen.

Nws yog cov heev rau tsab ntawv tso tawm kom tau sau rau cov ntaub ntawv tso zis. Ua li no khiav koj tsab ntawv raws li nram no:

sh greetme.sh gary> greetme.log

Cov> cim nyob rau hauv cov lus txib saum toj no nthuav tawm cov ntawv nyeem "nyob zoo hauv lub siab" rau ib daim ntawv hu ua greetme.log.

Txhua zaus koj khiav cov ntawv nrog cov> cim nws overwrites tus txheem ntawm cov ntaub ntawv tso zis. Yog hais tias koj xav kom append rau cov ntaub ntawv hloov lub >.

Txoj kev xaus

Koj yuav tsum tam sim no muaj peev xwm sau cov ntawv rau qhov screen thiab txais cov lus qhia tsis tau.