Hagaha Bilawga Hagaajinta BASH - Xaaladaha iyo Tirooyinka

Horudhac

Ku soo dhawow qeybta sadexaad ee "Hagaha Bilowga" ee BASHAASHA ". Haddii aad ka maqnayd labadii qodob ee hore, waxaa laga yaabaa inaad rabto inaad ogaato waxa ka dhigaya tilmaan-bixiyahan ka duwan kuwa kale ee hagaya BASH.

Tilmaamahan waxaa lagu qorayaa akhbaar dhamaystiran oo ah BASH iyo sida akhristaha aad u baraneyso marka aan barto. Inkastoo aan ku faraxsanahay BASH waxaan ka soo qaatay asalka horumarinta software-ka inkastoo inta badan alaabooyinka aan qorey ay ku jireen barnaamijka Windows-ka.

Waxaad arki kartaa labada hogaamiye ee ugu horreeya iyagoo booqanaya:

Haddii aad ku cusub tahay barnaamijka BASH-ga waxaan kugula talinayaa inaad akhrisato labada tusaaley ee ugu horreeya ka hor intaadan sii wadin tan.

Tilmaamahan waxaan tilmaamayaa sida loo isticmaalo waraaqaha shuruudaha si loo tijaabiyo talooyinka dadka iyo si loo xakameeyo sida qoraalku u shaqeeyo.

Ku rakib dhiska

Si aad u raacdo tilmaamahan waxaad u baahan doontaa inaad ku rakibto codsi taleefan oo loo yaqaan 'rsstail' kaas oo loo isticmaalo in lagu akhriyo akhristaha RSS .

Haddii aad isticmaalayso nooca Debian / Ubuntu / Mint ku saleysan sida soo socota:

sudo apt-get install rsstail

Fedora / CentOS iwm waxan soo socda soo socda:

yum rakibo rsstail

Si aad uhesho openSUSE waxyaabaha soo socda:

jipper rakibaya rsstail

Qoraalka IF

Furo terminal aadna sameyso fayl la yiraahdo rssget.sh adigoo ku qoraya kuwan soo socda:

sudo nano rssget.sh

Tafatiraha nano ee soo galaya qoraalka soo socda:

#! / bin / bash
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;

Keydso feylka adigoo riixaya CTRL iyo O kadibna bixi oo adigoo riixaya CTRL iyo X.

Ku dhaji qoraalka adigoo qoraya kuwan soo socda:

sh rssget.sh

Qoraalku wuxuu ku soo laaban doonaa liis ay ku qoran yihiin bogga linux.about.com.

Ma aha qoraal aad u faa'iido badan sababta oo ah waxay kaliya ka soo qaadeysaa cinwaanada hal raashin faaruq ah, laakiin waxay badbaadineysaa in la xasuusto jidka loo maro Linux.about.com RSS feed.

Furo warqadda rssget.sh mar labaad nano oo dib u habee feylka si aad u eegto sida soo socota:

#! / bin / bash

haddii [$ 1 = "faahfaahin"]
markaa
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
fi

Ku qor kumbuyuutarka markale adoo soo qoraya kuwan soo socda:

Warbixinta Rssget.sh

Waqtigaan xayeysiiska RSS ayaa ku soo laabanaya cinwaanka, isku xirka iyo sharaxaadda.

Aan u falanqeyno qoraalka waxoogaa faahfaahin ah:

#! / Bin / bash waxay u muuqdaan qoraal kasta oo aan qoro. Laynka xiga wuxuu astaan ​​u eegayaa xuduudda ugu horeysa ee loo adeegsado isticmaalaha wuxuuna u dhigmaa ereyga "faahfaahin". Haddii jawaab-celinta galka iyo ereyga "faahfaahin" ay ku xiran tahay xariiqda inta u dhaxaysa fiitka iyo fi ayaa la orday.

Qodobka kor ku xusan waxaa si cad u cilladaysan. Maxaa dhacaya haddii aadan bixin wax jawaab ah oo dhan? Jawaabta waxaad ku heli kartaa qalad iyadoo la raacayo khadadka shaqaale aan la filayn.

Cilladda kale ee weyni waa haddii aadan bixin erayga "faahfaahin" ka dibna wax walbaa kuma dhaco. Fikrad ahaan haddii aadan bixin ereyga faahfaahinta qoraalka ayaa soo celin doona liiska koobab.

Isticmaal nano mar si aad u habayso faylka rssget.sh oo wax ka bedel koodka sida soo socota:

#! / bin / bash

haddii [$ 1 = "faahfaahin"]
markaa
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
kale
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi

Keydso feylka oo ku dhaji adigoo qoraya kuwan soo socda:

Warbixinta Rssget.sh

Liiska magacyada, sharaxaada iyo xiriiriyeyaasha ayaa soo bixi doona. Hadda mar kale u kaca sida soo socota:

Magacyada rssget.sh

Waqtigan kaliya liiska magacyada ayaa muuqda.

Qaybta dheeraadka ah ee qoraalka waxay ku jirtaa xariiq 4 waxayna soo bandhigeysaa qoraalka kale . Sida caadiga ah imtixaanku wuxuu hadda leeyahay hadii wejiga ugu horeeya uu yahay ereyga "faahfaahin" helitaanka sharaxaadda, xiriirka iyo cinwaanada loogu talagalay raajada RSS, laakiin haddii ay tahay xuduudda koowaad ee wax kasta oo kale oo kaliya la helo liiska magacyada.

Qoraalku wax yar ayuu hagaagay laakiin weli waa cilad. Haddii aad ku guuldareysato inaad gasho xawaaraha waxaad weli heleysaa qalad. Xitaa haddii aad bixiso xayiraad, kaliya adigoo dhahaya inaadan rabin in ereyga macnaheedu uusan aheyn inaad u baahan tahay koobab kaliya. Waxaa laga yaabaa inaad si khalad ah u qeexday tusaale ahaan ama waxaad ku qortay nacnac kuwaas oo dabcan aan macno lahayn.

Ka hor inta aan isku deyin oo aan cadeyno arimahan waxaan rabaa inaan ku tuso talis dheeraad ah oo la socda qoraalka IF.

Tix gareeysii rssget.sh si aad u eegto sida soo socota:

#! / bin / bash

haddii [$ 1 = "dhammaan"]
markaa
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
Elif [$ 1 = "sharax"]
markaa
rsstail -d -u http://z.about.com/6/o/m/linux_p2.xml;

kale
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi

Waxaan go'aansaday inaan ka takhaluso ereyga ereyga oo aan ku bedelay dhammaan. Taasi ma aha qayb muhiim ah. Qoraalka kor ku xusan wuxuu soo bandhigayaa elif oo ah hab gaaban oo lagu dhaho ELSE IF.

Haatan qoraalka wuxuu u shaqeeyaa sida soo socota. Haddii aad maamusho shssss.sh ka dibna waxaad heleysaa sharaxaad, xiriiriye iyo magac. Haddii halkii aad kudhiiri lahayd sharrts.sh ku saabsan waxaad kaliya heli doontaa koobiyada iyo sharaxaadda. Haddii aad siiso ereyo kale waxaad heli doontaa liiska koobab.

Tani waxay soo bandhigaysaa hab si dhakhso ah ula imaaneysa liiska shuruudaha shuruudaha. Hab kale oo loo samayn karo ELIF waa in la isticmaalo waxa loo yaqaana sida loo yaqaan "IF".

Waxyaabaha soo socda ayaa ah tusaaleyaal muujinaya sida bayaanka IF-du-ku-jirku u shaqeynayo

#! / bin / bash

haddii [$ 2 = "qiyaastii"]
markaa
haddii [$ 1 = "dhammaan"]
markaa
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
Elif [$ 1 = "sharax"]
markaa
rsstail -d -u http://z.about.com/6/o/m/linux_p2.xml;

kale
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
kale
haddii [$ 1 = "dhammaan"]
markaa
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
Elif [$ 1 = "sharax"]
markaa
rsstail -d -u http://lxer.com/module/newswire/headlines.rss
kale
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
fi

Fadlan ku soo celi dhamaan nooc kasta oo ku yaal haddii aad jeceshahay ama nuqulayso oo aad ku dhejiso faylkaaga rssget.sh.

Qoraalka kor ku xusan wuxuu soo bandhigayaa xayiraadkii 2aad kaas oo kuu ogolaanaya inaad doorato "on.com" ama "lxer.com" oo ah RSS feed.

Si aad u maamusho waxaad ku qortaa waxyaabaha soo socda:

sh rssget.sh oo idil oo idil

ama

sh rssget.sh dhamaantiis

Dabcan waxaad bedeli kartaa sharraxaad ama koobab si aad u bixisid sharraxaad kaliya ama koobab.

Asal ahaan koodhka kor ku xusan wuxuu leeyahay haddii wejiga labaad uu ku saabsan yahay dbddd ka dibna fiiri labaad haddii qoraalku yahay mid ka mid ah qoraalkii hore ee kale hadii wejiga labaad uu yahay lxer ka dibna fiiri gudaha gudaha haddii caddayn mar labaad si loo go'aamiyo in la muujiyo cinwaannada, sharaxaada ama wax kasta.

Qoraalkani wuxuu si cad u bixiyaa tusaale ahaan hannaanka IF-du-dhexaadsan oo ay jiraan waxyaabo badan oo khalad ah qoraalkaas wuxuu qaadanayaa maqaal kale oo sharxaya. Arrinta ugu muhiimsani waa in aan la qiyaasi karin.

Bal qiyaas in aad rabto inaad ku darto raashin kale sida Isticmaalaha maalinlaha ah ee Linux ama Linux maanta? Qoraalku wuxuu noqon lahaa mid aad u weyn oo haddii aad go'aansato in aad rabto in bayaanka IF-ga ee isbeddelka ah ay tahay inaad bedesho meelo badan.

Inkastoo ay jirto wakhti iyo meel loogu talagalay IF xiran tahay waa in loo isticmaalo si khaas ah. Inta badan waxaa jira hab lagu diidayo koodhkaaga si aanad ugu baahnayn IF-da oo dhan. Waxaan ku iman doonaa mawduucan mawduuc mustaqbal ah.

Haatan waxaynu eegnaa sida loo xallinayo arrinka dadka ku soo galaya xuduudaha. Tusaale ahaan qoraalka kor ku qoran haddii isticmaalaha uu galo wax aan ka ahayn "Aboutdotcom" oo ah xildhibaanka 2aad ka dibna liiska maqaalku wuxuu ka soo baxaa raashinka RSS-ka ee LXER iyada oo aan loo eegin haddii uu isticmaalo isticmaalka iyo haddii kale.

Intaa waxaa dheer in haddii isticmaalaha uusan soo galin "dhammaan" ama "sharax" sida astaantii 1aad ka dibna waa la aqbali karaa liiska magacyada kuwaas oo laga yaabo inay tahay ama aysan ahayn waxa uu ujeeddada loo isticmaalo.

Eeg qoraalka soo socda (ama nuqul oo ku dheji faylkaaga rssget.shkaaga.

#! / bin / bash

haddii [$ 2 = "qiyaastii"] [$ 2 = "lxer"]
markaa
haddii [$ 1 = "dhammaan"] || [$ 1 = "sharaxaad"] || [$ 1 = "title"]
markaa
haddii [$ 2 = "qiyaastii"]
markaa

haddii [$ 1 = "dhammaan"]
markaa
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
Elif [$ 1 = "sharax"]
markaa
rsstail -d -u http://z.about.com/6/o/m/linux_p2.xml;

kale
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
kale
haddii [$ 1 = "dhammaan"]
markaa
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
Elif [$ 1 = "sharax"]
markaa
rsstail -d -u http://lxer.com/module/newswire/headlines.rss
kale
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
fi
fi
fi

Waxyaabaha ugu muhiimsan ee la xusuusinayo waa in qoraalku hadda yahay mid aad u weyn oo aad si deg-deg ah u arki karto sida ka baxsan xukunka IFED-ka ee ku jiri karo.

Qodobka muhiimka ah ee ku jira qoraalkaan waa warbixinta IF-du CUTUBKA THEN cutubka 2aad iyo 4aad.

|| waxay u taagan tahay OR. Marka laynka haddii [$ 2 = "Aboutdotcom"] || [$ 2 = "lxer"] wuxuu hubiyaa in xuduudda 2aad ay la mid tahay "qiyaastii" ama "lxer". Haddii aysan ahayn markaa warbixinta IF-du waa dhamaystiran tahay sababtoo ah ma jiraan wax war ah oo dheeraad ah oo ku saabsan kuwa ugu badan ee IF-ga.

Sidoo kale khadka 4 xariiq haddii [$ 1 = "dhamaan"] || [$ 1 = "sharaxaad"] || [$ 1 = "title"] wuxuu hubiyaa haddii halbeegga koowaad uu u dhigmo mid "mid" ama "sharax" ama "magac".

Hadda hadda isticmaalaha barkhada barafka roodhiga ah sheyga waxaa la soo celiyaa halka horaantii ay ka heleen liis ay ku qoran yihiin LXER.

Ka soo horjeeda || waa &&. & & Adeegaha ayaa u taagan OR.

Waxaan doonayaa inaan qoraalka u eego xitaa sida riwaayad laakiin wuxuu ka dhigayaa dhammaan jeegareynta muhiimka ah si loo hubiyo in user uu bixiyay 2 xabbo.

#! / bin / bash

haddii [$ # -eq 2]
markaa

haddii [$ 2 = "qiyaastii"] [$ 2 = "lxer"]
markaa
haddii [$ 1 = "dhammaan"] || [$ 1 = "sharaxaad"] || [$ 1 = "title"]
markaa
haddii [$ 2 = "qiyaastii"]
markaa

haddii [$ 1 = "dhammaan"]
markaa
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
Elif [$ 1 = "sharax"]
markaa
rsstail -d -u http://z.about.com/6/o/m/linux_p2.xml;

kale
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
kale
haddii [$ 1 = "dhammaan"]
markaa
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
Elif [$ 1 = "sharax"]
markaa
rsstail -d -u http://lxer.com/module/newswire/headlines.rss
kale
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
fi
fi
fi
fi

Qeybta kaliya ee dheeraadka ah ee qoraalkaas ayaa ah mid kale oo ka mid ah qoraalka IF ee soo socda: haddii [$ # -eq 2] . Haddii aad akhri maqaalka ku saabsan xuduudaha waxtarka waxaad ogaan doontaa in $ # ay ku soo celiso tirada tirada xuduudaha wax ku biirinta. The -eq waxay u taagan tahay isla'eg. Sidaas awgeed warbixinta IF-du waxay hubinaysaa in isticmaalaha uu soo galey 2 xabbo oo haddii aanay samaynin oo kaliya uunan waxba ka qaban. (Ma aha mid si gaar ah u saaxiibtinimo).

Waxaan ogsoonahay in waxbarashadani ay tahay mid aad u ballaaran. Ma jiraan wax badan oo lagu soo bandhigayo isbuucaan, laakiin waxaan rabaa in aan ku caawiyo si taxadar leh ilaa aan dhameyno.

Mid ka mid ah amarka ugu dambeeya ee aad u baahan tahay inaad wax ka barato sharraxaadda shuruudaha waa qoraalka CASE.

#! / bin / bash


haddii [$ # -eq 2]
markaa
kiis $ 2 ee
ku saabsan
kiis $ 1 ee
dhammaan)
rsstail -d -l -u z.about.com/6/o/m/linux_p2.xml
;
sharaxaad)
rsstail -d -u z.about.com/6/o/m/linux_p2.xml
;
cinwaan)
rsstail -u z.about.com/6/o/m/linux.about.com/6/o/m/linux_p2.xml
;
Caawinta
;
lxer)
kiis $ 1 ee
dhammaan)
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
;
sharaxaad)
rsstail -d -u http://lxer.com/module/newswire/headlines.rss
;
cinwaan)
rsstail -u http://lxer.com/module/newswire/headlines.rss
;
Caawinta
;
Caawinta
fi

Qoraalka kiisku waa hab aad u fiican oo loo qoro HADDII AY HADDII AY HADDII HADDII AY HADDII

Tusaale ahaan calaamadahan

HADDII MASUU = muuska
Tani tan
HADDII HADDII CAYAAL
Tani tan
HADDII HADDII CAYAALO = canab
Tani tan
DHAMMAAN HADDII

dib loo qori karo sida:

miro kiiska
muuska)
tan samee
;
santuuqa)
tan samee
;
canab)
tan samee
;
Caawinta

Asal ahaan waa sheyga kowaad kedib marka kiiskaagu yahay wax aad isku barbardhigi kartid (miro). Kadib waliba shay kasta ka hor intaan qajiyadu ka hadlin waa wax aad isbarbardhigayso iyo haddii ay ku haboontahay xariiqda ka horeysa; waa la ordi doonaa. Qoraalka kiisku waa la joojinayaa jumlada dib u celinta (taas oo ah kiis dib u celin).

Qoraalka rssget.sh ayaa kashaqaynaya kiisaska qaar ka saaraya qaar ka mid ah buulashan aadka u xun, inkastoo aysan si dhab ah u fiicnayn.

Si aad dhab ahaan u hagaajiso qoraalka waxaan u baahanahay inaan ku baro doorsoomayaal.

Fiiri xeerka soo socda:

#! / bin / bash

lxer = "lxer.com/module/newswire/headlines.rss"
aboutdotcom = "z.about.com/6/o/m/linux_p2.xml"
bandhig = ""
url = ""

haddii [$ # -lt 2] || [$ # -gt 2]
markaa
echo "isticmaalka: rssget.sh [dhamaan | sharaxaad] magac [ku saabsanbotcom | lxer]";
bixitaanka;
fi

kiis $ 1 ee
dhammaan)
muujinta = "- d -l -u"
;
sharaxaad)
muujin = "- d -u"
;
cinwaan)
muujin = "- u"
;
Caawinta

kiis $ 2 ee
ku saabsan
url = $ kudhowaad;
;
lxer)
url = $ lxer;
;
Caawinta
rsstail $ bandhigto $ url;

Halbeeg ayaa lagu qeexaa adoo siinaya magac ka dibna u qoondeynaya qiime. Tusaalaha kor ku xusan ee soo socda ayaa ah doorsoomayaal doorsoomayaal ah:

lxer = "lxer.com/module/newswire/headlines.rss"
aboutdotcom = "z.about.com/6/o/m/linux_p2.xml"
bandhig = ""
url = ""

Qoraalku si dhakhso ah ayaa loo maamuli karaa iyadoo la adeegsanayo doorsoomayaal. Tusaale ahaan halbeeg kasta oo loo adeegsado ayaa si gooni ah loo qabtaa, sidaa daraadeedna ma jiraan warbixino IFED.

Qiimaha bandhigga ayaa hadda la dajiyay iyadoo ku xidhan haddii aad dooratid dhamaanteed, sharaxaad ama cinwaanka iyo isbeddelka url waxaa lagu qeexayaa qiimaha isbeddelka kudhowaad ee ku saabsan ordotcom ama qiimaha doorsoomaha isbeddelka iyadoo ku xiran haddi aad dooratay ordotcom ama lxer.

Amarka rsstail hadda waa inuu isticmaalaa qiimaha bandhigga iyo url si sax ah u orda.

Iyadoo doorsoomayaasha la dhigay kaliya adoo siinaya magac, si dhab ah loo isticmaalo iyaga waa inaad horay u dhigtaa $ calaamad. Ereyga kale = variable qiimaha bedelka qiimaha ah halka qiimaha $ ay micnaheedu tahay i sii sheeg waxyaabaha ku jira qiimaha.

Kuwa soo socda waa qoraalka kama dambaysta ah ee casharkan.

#! / bin / bash

lxer = "lxer.com/module/newswire/headlines.rss"
aboutdotcom = "z.about.com/6/o/m/linux_p2.xml"
everydaylinuxuser = "http://feeds.feedburner.com/everydaylinuxuser/WLlg"
linuxtoday = "http://feedproxy.google.com/linuxtoday/linux"
isticmaalka: "rssget.sh [dhamaan | sharaxaad] magac [lxer | Aboutdotcom | everydaylinuxuser | linuxtoday]"
bandhig = ""
url = ""

haddii [$ # -lt 2] || [$ # -gt 2]
markaa
codsigii $ isticmaalka;
bixitaanka;
fi

kiis $ 1 ee
dhammaan)
muujinta = "- d -l -u"
;
sharaxaad)
muujin = "- d -u"
;
cinwaan)
muujin = "- u"
;
*)
codsigii $ isticmaalka;
bixitaanka;
;
Caawinta

kiis $ 2 ee
ku saabsan
url = $ kudhowaad;
;
lxer)
url = $ lxer;
;
linuxtoday)
url = $ linuxtoday;
;
everydaylinuxuser)
url = $ maalin kasta;
;
*)
codsigii $ isticmaalka;
bixitaanka;
Caawinta

rsstail $ bandhigto $ url;

Qoraalka kor ku xusan waxa uu soo bandhigayaa faahfaahin badan oo RSS ah waxaana jira isbeddel adeegsi kaas oo u sheegaya isticmaalka sida loo isticmaalo qoraalka haddii aysan midkoodna gelin 2 doorsoome ama waxay galaan ikhtiyaarrada khaldan ee doorsoomayaasha.

Soo koobid

Tani waxay ahayd maqaal epic oo laga yaabo inay aad u fogaato. Tilmaamaha ku xiga waxaan ku tusi doonaa dhammaan isbarbardhigga isbarbar dhiga ee qoraallada IF-da iyo weliba wali wax badan oo ka hadla oo ku saabsan wax ka bedelidda doorsoomayaasha.

Waxa kale oo jira waxyaabo badan oo la samayn karo si loo hagaajiyo qoraalka kor ku xusan, tanna waxaa lagu dabooli doonaa tilmaamaha mustaqbalka ah marka aynu sahaminno wareegyada loo yaqaan "loops", " grep" iyo hadalada caadiga ah.

Fiiri sida aad u socotid (Ka sii wad cutubyada si aad u aragto liiska qodobada) qaybta l inux.about.com si aad u heshid hage aad u tifatiran oo laga bilaabo dual-boonka Windows iyo Ubuntu si aad u sameyso qalab faneed oo la adeegsanayo sanduuqyada GNOME .