Ngelixa silisebenzisa ngokubanzi kulawulo okanye kwimisebenzi yolawulo lwefayile, i iselfowuni de Linux Yandisa ukusebenza kwayo ngaphaya kwenjongo, esivumela ukuba sisebenzise zeempendulo Esi sikhokelo asijoliswanga ekubeni sisalathiso esipheleleyo senkqubo yeBhash, kodwa intshayelelo kwimiyalelo esisiseko kunye nolwakhiwo, oluya kusivumela ukuba sandise amandla enkqubo yethu ye-GNU / Linux. |
Yintoni "iScript"?
Ngokusisiseko sithi yifayile equlathe ikhowudi ebhaliweyo kulwimi oluthile lwenkqubo olusetyenziswa yinkqubo ethile. Ayifuni kuba negalelo langaphandle okanye ujongano lomzobo, kodwa iyafuna ukubangela iziphumo zedatha eqhutyiweyo (nokuba umsebenzisi akaboni).
Ulwimi olusetyenziswa nguBhash luchazwa yitoliki yalo kwaye ludibanisa is syntax yezinye iiShells, ezinje ngeKorn Shell (ksh) okanye iC Shell (csh). Uninzi lwemiyalelo edla ngokusetyenziswa kwikhonsoli inokusetyenziswa kwizikripthi, ngaphandle kwale ihambelana ngqo nolwabiwo oluthile.
Ulwakhiwo lweSkripthi
Ukuqala kufuneka sibe nomhleli wokubhaliweyo kunye nomnqweno wenkqubo. Iifayile esizigcina ngolwandiso lwe- .sh zinokuphunyezwa (okanye ukutolikwa) yikhonsoli, ukuba nje umgca wokuqala ulandelayo:
#! / bin / ibash
Oku kuxela inkqubo ukuba isebenzise ikhonsoli ukuqhuba ifayile. Ukongeza, uphawu # lukuvumela ukuba ubhale izimvo. Ukwenza owona mzekelo ulula songeza omnye umgca, obonwe kulo mfanekiso ulandelayo:
Umyalelo we-echo ubonakalisa umyalezo kwiscreen, kule meko u "Molo wehlabathi!" Ukuba siyayigcina kwaye siyenze ngeconsole siza kubona iziphumo.
Imiyalelo esisiseko
Le miyalelo ilandelayo iqhelekile kwaye iluncedo kakhulu kulo naluphi na uhlobo lwenkqubo. Siyacacisa ukuba zininzi ezinye, kodwa okwangoku siza kugubungela oku kulandelayo.
Iziteketiso: ivumela umtya wamagama ukuba ubuyiselwe umfutshane, uvumela ukunciphisa ikhowudi.
#Yakha i-alias ebizwa nganye ngedilesi ye #Downloads ifolda alias nge = '/ ikhaya / umsebenzisi / Ukhuphelo' # Lonke ixesha esifuna ukulisebenzisa kufuneka sibize # igama elitsha nge #Ukutshabalalisa ii-alias, thina Sebenzisa ii-ulias zilizas nganye
break: ikuvumela ukuba uphume kwangoko, ngelixa, de okanye ukhethe iluphu (siza kufunda iiluphu ngokweenkcukacha kamva)
#Yila iluphu eya kuthi inike amanani ukusuka ku-1 ukuya ku-5 #oonke "ukujika kweluphu" kwikhawuntara kwi-1 2 3 4 5 yenza #Siprinta ixabiso langoku lokungafani # ukubala, okucazululwa ngumlinganiswa $ phendula "$ counter" #Ukuba ixabiso lokubala lilingana no-3 ukuba [$ counter –eq 3] ke # Ikhefu liphuma kwilog yokuphula okwenziwe
Qhubeka-Iyafana nekhefu, ngaphandle kokuba ayihoyi iluphu yangoku kwaye iya kwelandelayo.
#Yila iluphu eza kuthi inike amanani ukusuka ku-1 ukuya ku-5 #oonke "ukujika kweluphu" kwikhawuntara kwi-1 2 3 4 5 yenza # Ukuba ixabiso lokubala lilingana no-3 ukuba [$ counter –eq 3] emva koko # Qhubeka uvimba umjikelo wangoku # ukuba ungacazululwa ngokutsiba ujikeleze umjikelo olandelayo, oko kukuthi, #xabiso le-3 ayizukuprintwa. qhubeka fi echo "$ counter" yenziwe
bhengeza: bhengeza izinto eziguquguqukayo kwaye ubanike amaxabiso, njengohlobo lweesetet (zisebenza ngendlela efanayo). Singayidibanisa kunye nezinye iindlela: -i ukubhengeza amanani apheleleyo; -r yezinto ezifundwayo kuphela, ezixabisekileyo azinakutshintshwa; -A kwimatriki okanye "uluhlu oluhambelanayo"; -f yemisebenzi; -x yezinto eziguquguqukayo ezinokuthi "zikhutshelwe ngaphandle" ngaphandle kwendalo yeskripthi ngokwaso.
bhengeza -i num = 12 bhengeza -x pi = 3.14
uncedo: bonisa uncedo lomyalelo othile.
imisebenzi: ibonisa iinkqubo ezisebenzayo.
#With –c sibonisa igama lemiyalelo, kunye -p # i-pid (inkqubo yed) yenkqubo nganye. imisebenzi -cp
vumela: vavanya intetho yezibalo
let a = 11 let a = a + 5 # Okokugqibela sishicilela ixabiso elili-16 echo "11 + 5 = $ a"
local: yenza izinto eziguquguqukayo zalapha ekhaya, ezinokuthi zisetyenziswe ngokukhethekileyo kwimisebenzi yeskripthi ngokwaso ukunqanda iimpazamo. Ungasebenzisa imisebenzi efanayo nomyalelo wokubhengeza.
v1 yangaphakathi = "Olu lutshintsho lwasekhaya"
ukuphuma: kuvumela ukuphuma kweShell ngokupheleleyo; iluncedo kwimeko apho sisebenza ngaphezulu kwefestile enye yegobolondo, apho umyalelo wokuphuma uya kuvumela kuphela iwindow enye ukuba ipheliswe ngexesha.
printf: ikuvumela ukuba uprinte idatha kwaye uyifomathile. Inokhetho oluninzi, ke siyakukhankanya ezimbalwa.
#% f iprinta njengenombolo edadayo, n entsha # yomgca printff Ii-oda ezingama-5 ezixabisa iidola ezingama-5.000000
funda: funda umgca ukusuka kwigalelo eliqhelekileyo (imodyuli esetyenziselwa ukulayisha idatha ngekhibhodi umzekelo). Singagqitha ukhetho njenge: -t ukunika ixesha elilinganiselweyo lokufunda; -a Ukuze igama ngalinye linikezelwe kwisikhundla kwi-aname array; -d Sebenzisa i-delimiter ukuba ibhalwe ekupheleni komgca; phakathi kwabanye.
phendula "Faka igama lakho kwaye ucinezele ENTER" #Funda igama eliguqukayo funda igama echo "Igama lakho ligama leedola"
Uhlobo: luchaza umyalelo kunye nokuziphatha kwawo. Kunokuba luncedo ukufumana iinkcazo zedatha yomyalelo ngamnye.
Uhlobo -a '[' # uhlobo lisixelela ukuba [ngumyalelo we-Shell builtin [yi-Shell builtin # -a ivumela ukufumana umkhombandlela one- # ephunyeziweyo enegama elifakiwe. [ngu / usr / bin / [
ulimit: kuthintela ukufikelela kunye nokusetyenziswa kwezixhobo ezithile zenkqubo kwiinkqubo, ezilungele iinkqubo ezivumela utshintsho kulawulo okanye ezijolise kwiintlobo ezahlukeneyo zabasebenzisi. Xa simisela umda sibhala inani elimela i-kilobytes zomda.
#Sibona imida yethu yangoku ulimit - # ulimit -v 512000
linda: linda inkqubo ethile okanye umsebenzi oza kwenziwa ukuze uqhubeke.
Iskripthi silinda inkqubo ye-pid # 2585 ukuba yenziwe
linda 2585
Eminye imiyalelo eluncedo esinokongeza kwizikripthi imelwe ziimpawu.
!!: sebenzisa umthetho wokugqibela kwakhona
wer: yenza umthetho wokugqibela oqale ngegama elithi "wer".
'==', '! =', '>', '<', '> =', kunye '<=': abaqhubi abanxulumene nabo.
|: Umqhubi we-OR usetyenziselwa ukujoyina amabinzana amabini aqhelekileyo.
umyalelo wokubaleka ekuvumela ukuba ufomathe amabinzana. Umzekelo: isilumkiso sesandi, n somgca omtsha, b kwisithuba esingasemva, njl.
Izimvo ezi-10, shiya ezakho
Kakhulu! Ngapha koko 2 amagqabantshintshi: Ithegi yoBuntu sisiqingatha kakhulu, njengoko yenza into eqhelekileyo. Kwaye ukuba ezi tutorials ziyaqhubeka ukuqhubela phambili, kuya kuba kuhle ukuba zinxibelelene ...
Ngaphandle koko, le ntshukumo inomdla!
Igalelo elifanelekileyo! Kakhulu!
Kuphela kushiyeke izingqinisiso kwabo bafuna ukungena ngakumbi kulo mbandela. Ezinye ezilungileyo nangona kungafumaneki lula kumazwe ethu
Isikhokelo esisebenzayo kwimiyalelo yeLinux, abaHleli, kunye neNkqubo yeShell, uMark Sobell (Isahluko 8)
-I-Pro Bash Programming, uChris FA Johnson (nangona oku kwenzelwe abo banezinye izikhombisi okanye ulwazi oluncinci).
Inqaku elilungileyo.
Umhla olungileyo! Enkosi!
: @ Umsebenzi we "log in as" ucime uluvo lwam lwangaphambili, ke ndiza kulushwankathela ngokulandelayo:
imisebenzi -cp
bash: imisebenzi: -c: ukhetho olungasebenziyo
imisebenzi: ukusetyenziswa: imisebenzi [-lnprs] [jobspec…] okanye imisebenzi -x command [args]
-eq -gt -lt awuzamkeli izinto eziguqukayo zenqaku, phakathi kweforum kunye neforum Ndifumanise ukuba i-bc liqabane elungileyo:
ukuba [`echo 9.999> 10 | bc` -eq 1]; emva koko
i-echo "9.999 inkulu kune-10, qiniseka ukuba iprosesa yakho isasebenza"
enye
i-echo «9.999 ayinkulu kune-10, yonke into isebenza ngokwesiqhelo
fi
Esi sithuba sishwankathela kakuhle konke okuqhelekileyo kokubhalwa kwe-bash:
http://www.aboutlinux.info/2005/10/10-seconds-guide-to-bash-shell.html
Kule ndawo uza kufumana imibuzo kunye neempendulo malunga nezinto ezikhethekileyo ze-bash:
http://unix.stackexchange.com/questions/tagged/bash
Nazi ezinye zeempendulo ezipholileyo, kwaye ungazifunda ngokufunda abanye abantu:
http://snipplr.com/search.php?q=bash&btnsearch=go
Unyanisile ngale nto uyithethayo, ngaphandle kwe-bash. Yonke inkqubo endiyibonileyo ine-bash kwi / bin / bash.
Kodwa python, perl, ruby, njl, kulungile ukuyisebenzisa. Ndiyavuma
Ngokuzenzekelayo, kwikholeji sisebenzisa i-bash script ukuze idatha ibe li-10, intle kakhulu!
Inguqulelo ye-pdf yokukhuphela iya kuba ntle !! 😀
Indawo elungileyo kakhulu. Ekugqibeleni ndiyifumene into eluncedo. Enkosi.