Rêberdariya Destpêk BAR-BZ - Rewş û Rengdêr

Pêşkêş

Bi beşa sêyemîn ya "Bêguman Destpêk To BASH". Heke hûn du gotarên berê yên winda kirin, hingê hûn dikarin dixwazin bizanin ka çi rêberê cûda ji bo rêberên BASH-ê yên din ên din çêbikin.

Ev rêber ji hêla nûhatiyên bi tevahî BASH ve tête nivîsandin û ji ber ku xwendekarê ku hûn hîn dibe ku ez hîn dikim. Dema ku ez ji nû ve bacek im BASH Ez ji ji pirtûka pêşveçûna bernameyek pisporê têim, lê piraniya tiştên ku min nivîsandiye ji bo platformê Windows ye.

Hûn dikarin du rêberên yekemîn bi rêya serdana xwe bibînin:

Heke hûn ji bo Pirtûka BASH re ne, ez pêşniyarên du pêşîn pêşîn pêşî bixwim ku beriya vê yekê berdewam bikim.

Di vê rêberê de ez ê nîşan dide ku çiqas daxuyaniyên hûrgelan bikar bînim ku bikarhêner bikar anî bikim û çiqas nivîsgehek fonksiyonê kontrol bikim.

Rsstail saz bikî

Ji bo ku hûn rêberê vê rêberê de hûn hewce ne ku hûn pêveka rêza lîsansa sazkirinê binivîse ku têketinê binivîse ku ji bo xwarinên RSS re dixwînin.

Heke hûn li Debian / Ubuntu / Mint bikar tînin binivîsin bingehîn li jêr:

sudo apt-get rsstail installed

Ji bo Fedora / CentOS hûrgelan binivîse:

yum sazkirinê hilbijêre

Ji bo cureyê vekirî SUSE jêrîn:

rsstail sazkirin

The statement IF

Vê vekêşînek dirêj bike û pelê rssget.sh bi navê jêrîn biafirîne:

sudo nano rssget.sh

Di navnîşa nano navnivîsê de binivîse:

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

Pelê bi hêla CTRL û O vekişîne û paşê vekişîna CTRL û X.

Bi şirovekirina jêrîn veşêre:

sh rssget.sh

Lîsteya navnîşan lîsteyek navnîşên ji linux.about.com vegerînin RSS feed.

Ew pirtûkek pir bi karanîna karbidest e ne ji ber ku ew tenê ji sernavên RSS-ê veguhestin, lê ew e ku ji bo rêvekirina Linux.about.com RSS feed.

Vebijêrk di nano de rssget.sh vekin û veguhastina pelê biguherînin:

#! / bin / bash

Heke [$ 1 = "verbose"]
paşan
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
fi

Dîsa scriptê dîsa bi binivîse jêrîn:

sh rssget.sh verbose

Di vê demê de RSS feed bi paşê, navnîş û navnîşê tê.

Let's translate script into a bit detail!

#! / Bin / bash di her pirtûkan de tête nivîsîn e. Pêçeya pêşîn di bingehîn de pêşniyarê yekem tê dîtin ku ji hêla bikarhênerê ve tê dayîn û wê peyva "verbose" re peyda dike. Heke pîvanê inputê û peyva "verbose" di nav rêzên paşê û paşê de dihejîne.

Peyvek jor eşkere xelet e. Çawa dibe ku eger hûn hemî parameterê neyê danîn? Bersiv e ku hûn bi xetên ku ji hêla operatorê nerastkirî ve çewtiyek xistin.

Gelek girîngiyek mezin e ku heke hûn peyva "devkî" nabînin, paşê tiştek tiştek pêk tê. Heke hûn peyva devê devkî nabînin, nimûne lîsteya sernav vegerin.

Ji bo pelê rssget.sh re dîsa biguherînin û nano bikar bînin û kodê biguhere:

#! / bin / bash

Heke [$ 1 = "verbose"]
paşan
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
wekîdi
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi

Pelê hilbijêre û bi binivîse jêr bi rêve bike:

sh rssget.sh verbose

Lîsteya sernav, şirove û girêdan wê bêne xuya kirin. Niha careke din dîsa bisekinin:

sernivîsên ş

Vê demê tenê lîsteya sernavên xuya dike.

Beşê pirtûka nivîskî 4-ê li ser çarçoveyê ye û gotina din . Baskî veşartî niha dibêje dibêje eger yekem pîvanê "verb verbose" ye, navnîşa RSS, ji bo pirtûka lînk û sernavê binivîse, lê heke eger yekem parameterê tenê tiştek navnîşan be.

Çarçovek piçûktir çêbû, lê hîna jî xelet e. Heke hûn nekevin ku parametrek nekevin, hûn dîsa jî çewtiyek bibin. Heke ku hûn pîvanek pêşkêş dikin, bi tenê digotin hûn ne naxwazin verbose nayê wateya ku hûn tenê bernivîsan dixwazin. Heya ku hûn nimûne nimûne çewtî çewtî an jî hûn dikarin kûçikan binivîsin ku bêguman bê wateya.

Berî ku em hewl didin û van pirsgirêkên paqij bikin ez dixwazim ku hûn ji bo ku hûn bi daxuyaniya IF'ê re diçin we.

Lîsteya rssget.sh li ser xwe binivîse ku li jêr binêrin:

#! / bin / bash

Eger [$ 1 = "hemû"]
paşan
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
elif [$ 1 = "description"]
paşan
rsstail -d -u http://z.about.com/6/o/m/linux_p2.xml;

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

Min biryar da ku ji riya devkî devkî û ji hemî re veguhestin. Ew beşek girîng e. Pirtûka jorîn elif tête zanîn ku rêbazek kurt e ku gotiye ELSE IF.

Niha sembolê wekî vê yekê dixebite. Heke hûn bi rssget.sh hemî hingê hûn paşnav, navnîşan û navnîşan bin. Heke ku hûn tenê hûrbînî rssget.sh şirove bikin hûn tenê navnîşan û şirove bibin. Heke ku hûn peyvek din peyda bikî, hûn ê lîsteya sernavê bibin.

Ev rêyek rêkûpêk destnîşan dike ku bi lîsteyek daxuyaniyên şertî ve tê. Rêbazek alternatîfên ELIF e ku daxuyaniyên IF yên ku nîsan tê zanîn tê bikaranîn.

Duyanek nimûne eşkere ye ku daxuyaniya IF-ê çawa dixebite:

#! / bin / bash

eger [$ 2 = "aboutdotcom"]
paşan
Eger [$ 1 = "hemû"]
paşan
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
elif [$ 1 = "description"]
paşan
rsstail -d -u http://z.about.com/6/o/m/linux_p2.xml;

wekîdi
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
wekîdi
Eger [$ 1 = "hemû"]
paşan
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
elif [$ 1 = "description"]
paşan
rsstail -d -u http://lxer.com/module/newswire/headlines.rss
wekîdi
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
fi

Ji bo ku hûn bixwazin an qeyd bikin û kopî bikin di nav rssget.sh pelê azad bikin.

Peyvek jorîn du parîmeterek duyemîn dide ku tu dikarî "about.com" an "lxer.com" hilbijêre an RSS RSS.

Ji bo ku hûn diçin hûn di van jêrîn de binivîse:

sh rssget.sh all aboutdotcom

an

hemî lxer

Hûn dikarin bi tevahî bi navnîşan an navnîşan veguherînin ku tenê tenê navnîşan an tenê sernavên pêşkêş bikin.

Baskî kodî li jor dibêje ku eger parameterê duyem li ser dototcomê ye, paşê duyemîn binêrin eger heke ji heman pirtûkê berê yê ku pîvanê duyemîn e ku li hundurê binêrin, paşê li hundurê binêrin heger dîsa dîsa daxuyaniyek bikişîne ka kîjan sernivîsan nîşan bide ka an her tişt

Ew şîrove wekî mînakek nimûne ya nermalîf a pêşkêşkirî ye û gelek tiştên ku bi şîfreyê wê ne çewt e hene ku ew tête nivîsîn e ku ew dê gotara din bistînin ku hemî hemî şirove bikin. Pirsgirêka sereke e ku ew ne paqij e.

Hûn difikirin ku hûn bixwazin RSS RSS feed like today's Linux Linux or Linux Today? Daxuyaniya wê dê pir mezin bibe û eger hûn biryar da ku hûn daxuyanîya IF dixwaze biguherînin, divê hûn di cih de gelek cihan biguherînin.

Dema ku derheqê nêçîrvanek nêvek heye û ew e ku ew bi zehf re tê bikaranîn. Bi gelemperî heye ku ji bo kodê xwe re refaktor da ku hûn ne hewceyê nefsê ne hewce ne. Ez ê di mijara paşerojê de di mijara vê mijarê de were.

Bila nuha li ser pirsgirêka mirovên ku pîvana dufferan bikevin kontrol bikin. Ji bo mînakê di nivîsa jorînê de heger bikarhêner bikar anî wekî "aboutdotcom" wekî duyemîn parameterê 2'emîn hingê lîsteya gotarên ji RSS-ê ji LXER vekirî nebe ku ew bikar anîne an ku ew bikar anî yan jî ne.

Herweha heger bikarhêner bikarhêner "hemî" an "navekî" binivîse ku paşî paramera 1emîn paşê paşê veguherîn lîsteyeke sernavên ku dibe ku bikarhêner bikar anîn.

Li pirtûkê jêrîn binêrin (an jî pelê rssget.sh kopî bikin û hilbijêre.

#! / bin / bash

eger [$ 2 = "aboutdotcom"] || [$ 2 = "lxer"]
paşan
eger [$ 1 = "hemû"] || [$ 1 = "şirove"] || [$ 1 = "title"]
paşan
eger [$ 2 = "aboutdotcom"]
paşan

Eger [$ 1 = "hemû"]
paşan
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
elif [$ 1 = "description"]
paşan
rsstail -d -u http://z.about.com/6/o/m/linux_p2.xml;

wekîdi
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
wekîdi
Eger [$ 1 = "hemû"]
paşan
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
elif [$ 1 = "description"]
paşan
rsstail -d -u http://lxer.com/module/newswire/headlines.rss
wekîdi
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
fi
fi
fi

Yekem tiştek bîr bisekinin ku pirtûkxane niha nuha mezin e û hûn bi zûtirîn bibînin ku çiqas berbi kontrola kontrola IF dikare bibe.

Bêguman ku di vê pirtûkê de girîng e, îfadeya IF ye Daxuyaniya BERSÎVÊ 2 BERSÎV Û 4 BERSÎVÊ.

|| ji bo OR. Ji vî awayî heger [$ 2 = "aboutdotcom"] || [$ 2 = "lxer"] kontrol dike ka dê pîvanê duyemîn wek "aboutdotcom" an "lxer" e. Heke ku ev ne diyar e ku daxuyaniya IF tête qedandin, çimkî ji bo ku bêtir daxuyanî ji bo piranîya derveyî ya I

Bi vî awayî 4-ê lineê heger [$ 1 = "hemû"] || || [$ 1 = "şirove"] || [$ 1 = "title"] kontrol dike ka pîvanê yekem yek an "hem" an "nirxandin" an "title" e.

Dema ku bikarhêner an rssget.sh potatoes pîran tiştek nayê vegerandin heya ku ew ji lîsteya sernavên LXER re bistînin.

Li hemberî || ye && Operasyona & Nêçîrvanê ji bo AND Û stand.

Ez ê ezimim ku pirtûkxane hê jî mîna xewarekî dibînim, lê ew kontrola hemî girîng e ku ji bo bikarhênerên ku 2 bikarhênerên xwe hatine dayîn.

#! / bin / bash

heger [$ # -qeq 2]
paşan

eger [$ 2 = "aboutdotcom"] || [$ 2 = "lxer"]
paşan
eger [$ 1 = "hemû"] || [$ 1 = "şirove"] || [$ 1 = "title"]
paşan
eger [$ 2 = "aboutdotcom"]
paşan

Eger [$ 1 = "hemû"]
paşan
rsstail -d -l -u http://z.about.com/6/o/m/linux_p2.xml;
elif [$ 1 = "description"]
paşan
rsstail -d -u http://z.about.com/6/o/m/linux_p2.xml;

wekîdi
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
wekîdi
Eger [$ 1 = "hemû"]
paşan
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
elif [$ 1 = "description"]
paşan
rsstail -d -u http://lxer.com/module/newswire/headlines.rss
wekîdi
rsstail -u http://z.about.com/6/o/m/linux_p2.xml;
fi
fi
fi
fi
fi

Tenê bitikîne ku di vê pirtûkê de bêtir eşkere ye ku ev gotara jêrîn e: Heke [$ # -qeq 2] . Heke hûn gotara nimûneyên nirxên inputê bixwînin, hûn ê bizanin ku $ a vegerandina hejmareke hejmara parameterên inputê. The -eq wekhev e. Ji ber vê yekê daxuyaniya IF re kontrol dike ku bikarhêner 2 parameterî tête kirin û eger ew ne tenê tiştek tiştek derkeve. (Bi taybetî ne heval).

Ez dizanim ku ev tutorial pir mezin e. Ne ku ev hefteyê bêtir nehate nebe, lê ez dixwazim ku ji ber ku em bi şirovekirina pirtûkxaneyê veşêre.

Fermana dawî ya ku hûn hewce ne ku agahdariya derbarê derbarê derbarê agahdariya şertî de ye.

#! / bin / bash


heger [$ # -qeq 2]
paşan
$ 2 in
aboutdotcom)
$ 1 in
gişt)
rsstail -d -l -u z.about.com/6/o/m/linux_p2.xml
;;
terîf)
rsstail -d -u z.about.com/6/o/m/linux_p2.xml
;;
nav)
rsstail -u z.about.com/6/o/m/linux.about.com/6/o/m/linux_p2.xml
;;
esac
;;
lxer)
$ 1 in
gişt)
rsstail -d -l -u http://lxer.com/module/newswire/headlines.rss
;;
terîf)
rsstail -d -u http://lxer.com/module/newswire/headlines.rss
;;
nav)
rsstail -u http://lxer.com/module/newswire/headlines.rss
;;
esac
;;
esac
fi

Daxuyaniya dozê awayekî nivîskî ya nivîskî ye, BİXWÎNE BİXWÎNE BİXWÎNE BİXWÎNE BİXWÎNE BİXWÎNE

Bo nimûne ev logîk

Fêwira fêk = kanan
Hingê vê yekê
ELSE FAR = Eang
Hingê vê yekê
ELSE FF = Grapes
Hingê vê yekê
END IF

dikare were rewş kirin:

fêkiyê fêk in
bananas)
vê yekê bikin
;;
oranges)
vê yekê bikin
;;
grapes)
vê yekê bikin
;;
esac

Baskî yekem piştî şertê ku tiştek e ku hûn ê têne hevbeş (wek berê). Hingê her tişt ji ber kursiyên ku hûn li hemberîhevkirinê tê ye û heger ew rêzên pêşîn; wê diçin. Di daxuyaniya dozê de bi reverse esac (ku paşê paşî ye) hate qedexekirin.

Di pirtûkxaneya rssget.sh de daxuyaniya dozê hin hûrgelên berbiçav nebe, tevî ku pir bi rastî baştir dibe.

Ji bo ku rastî rastî scriptê çêtir e ku ez hewce bikim ku hûn werin guherînim.

Koda jêrîn binêrin:

#! / bin / bash

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

eger [$ # -lt 2] || [$ # -gt 2]
paşan
echo "bikarhêner: rssget.sh [hemû | description | title] [aboutdotcom | lxer]";
derî;
fi

$ 1 in
gişt)
display = "- d -l -u"
;;
terîf)
display = "- d -u"
;;
nav)
display = "- u"
;;
esac

$ 2 in
aboutdotcom)
url = $ aboutdotcom;
;;
lxer)
url = $ lxer;
;;
esac
rsstail $ display $ url;

Vekhev e ku bi navê navnîşî û navnîşek nirxandin tête diyar kirin. Di nimûneya jor de jêrîn peymanên celeb hene:

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

Paceya bi hêla rêbazên bi kar anîn rêkûpêk bêtir rêveber e. Ji bo nimûne her parameterê bi awayekî cuda ve tête kirin û ji ber ku gotinên IF bi nested nested in.

Variantê guherînek niha girêdayî ye ku hûn hemî, navekî an jî derxistin hilbijêre û guherînek url ku bi vîdyek aboutdotcom an jî nirxa lxer vala ve girêdayî ye.

Derhênerê rasterast niha tenê bi karûbarên display û url bikar bîne ku rast bike.

Dema ku cûrbazên wan bi navê xwe bidin, bi rastî bi wan re bikar bînin, divê hûn li ber wan nîşanek $ $ dor bikin. Di nav gotinên din de variable = nirxa mîhengê ji bo nirxek nirxa wateya ku varianya $ mûzgîn tê wateya naveroka pîvengê bide min.

Ji bo vê tutorialê ya jêrîn e.

#! / bin / bash

lxer = "lxer.com/module/newswire/headlines.rss"
aboutdotcom = "z.about.com/6/o/m/linux_p2.xml"
rojlinuxuser = "http://feeds.feedburner.com/everydaylinuxuxuser/WLlg"
linuxtoday = "http://feedproxy.google.com/linuxtoday/linux"
Bikaranîna = "bikarhêner: rssget.sh [hemû | description | title] [lxer | aboutdotcom | everydaylinuxuser | linuxtoday]"
display = ""
url = ""

eger [$ # -lt 2] || [$ # -gt 2]
paşan
$ usage echo;
derî;
fi

$ 1 in
gişt)
display = "- d -l -u"
;;
terîf)
display = "- d -u"
;;
nav)
display = "- u"
;;
*)
$ usage echo;
derî;
;;
esac

$ 2 in
aboutdotcom)
url = $ aboutdotcom;
;;
lxer)
url = $ lxer;
;;
linuxtoday)
url = $ linuxtoday;
;;
rojlinuxuser)
url = $ rojlinuxuser;
;;
*)
$ usage echo;
derî;
esac

rsstail $ display $ url;

Peyva jorîn pirtûka RSS bêtir tête kirin û lihevhatineke karûbar e ku ew bikarhêner bikar tîne ka çiqas klavyeyê bikar bînin heke ew ne 2 celeb anîn nekevin an jî ew ji bo cudahiyên çewt çewt in.

Berhevkirinî

Ev gotara wateya epic bû û dibe ku zûtir zûtir. Di rêberê din de ez ê ji bo her tercîhên berbiçav yên ji bo IF-ê veguhastin nîşanî nîşanî nîşanî nîşanî nîşanî û ji hêla pir zêde ve ye.

Her weha bêtir çêkirin ku ji bo çêkirina pirtûkên jorîn çêtir dibe û ew ê di rêberên paşerojê de bête ku dê em gûps, grep û xwenîşandanek rasterast bibînin.

Vê çavkaniyê binirxîne (Çiqas li jêr kategoriyê berê binivîse ku li ser lîsteya nîqaşan bibînin) section of l inux.about.com da ku rêberên bêhtir bibînin ku ji bo damezrandina Windows-2 û Ubuntu- ê ku pîşesaziya GNOME bi karanîna pirtûka virtual saz bike .