#1 2011-02-13 11:52:15

adomas
Narys
Iš: Vokietija
Užsiregistravo: 2011-01-20
Pranešimai: 69

Bash

Sveiki, Archeriai wink
Kokios turite patirties programuojant (o gal reikėtų sakyti skriptinant) BASHą (Bourne-again shell)? smile Seniai norėjau paskriptinti juo, tačiau nebuvo reikalo ir net nežinojau ką galėčiau susiskriptinti, nes nebuvo poreikio. Išėjo taip, kad dabar dirbu hostingo įmonėje ir susidūriau su poreikiu monitoringo sistemoms parašyti pora bash skriptelių smile užtrukau puse dienos kol perpratau BASH, AWK ir PERL įmantrybės, kurių reikėjo man rašant skriptą. Tikrai smagi diena buvo, nes skriptinimai tokie kad ir kaip QuakeC (id Tech * varikliukų skriptinimai), man visada buvo arti širdies. O kokia jūsų patirties rašant Bash skriptus? Ką esat parašę ir kokiems tikslams? Gal turit kokių įdėjų, kokį aš skriptelį dėl smagumo galėčiau pasirašyti? smile

Atsijungęs

#2 2011-02-13 16:39:02

Dummas
Linux Rat
Iš: Vilnius
Užsiregistravo: 2010-10-10
Pranešimai: 177
Tinklapis

At: Bash

Su bash'u ( kaip ir su kitais shell scripts ) galima tikrai nuveikti labai daug ką, ypač automatizavime. Čia prieš metus universitete turėjau tokį dalyką kaip "Kompiuterių architektūrą" ir ten buvo labai nuobodūs laborai, tai su bash'u sumečiau ataskaitų generatorių ( atvaizdavimui naudojau latex'ą ).

Čia keli:

Smagiausia buvo per bash'ą iš teksto sugeneruoti iliustraciją ( paveikslėlį ) ir paskui jį pavaizduoti latex'e. smile

Kaip admin'as gali parašyti su bash'ų labai smagų monitoringą, pasitelkiant rrdtools'sus. smile


Arch Linux Lietuva

Atsijungęs

#3 2011-05-31 17:04:03

s2
Narys
Užsiregistravo: 2011-05-31
Pranešimai: 9

At: Bash

Noriu pastebėt, kad Dummo skriptai nėra labai jau gražūs (sektini) pavyzdžiai -- keliose eilutėse, einančiose iš eilės, vykdoma ta pati append operacija.  Pakaktų vienos tokios operacijos, kuri savo stdin-ą gautų iš subshell-inio kompaundo:

$ (echo "A"; echo "B"; echo "C") >> report.tex

Na, kaip mokymosi priemonė tie skriptai gal ir tinka, nes lengvai sukramtomi.


O aš su Bash-u karts nuo karto ką nors pasirašau.
Pvz. kadangi naudoju FF daugelį profailų, o skirsnyje vieta kartais dingsta, tai pradingsta ir profiles.ini failas.  Tuomet paleidžiu bash-awk kompozitą, ir jis man atkuria tą ini-failiuką.


Arba kadaise dariausi skriptą, kuris logintų visus tekstinių failų pakeitimus (nurodytoje direktorijoje) į GIT tipo lokalią repozitoriją.  Na, planavau pasidaryt stackable, logging FS prototipą.  Na, ir pasidariau tą prototipą;), o va FS taip ir nebepradėjau (bet tai su BASHu visai nesusiję).


O dar seniau man prisireikė įrankio, kuris C programėlę sukompiliuotų į minimalų vykdomajį EXE-failiuką, paskui išdisasembleriuotų jš, surašytų opkodus bei ASMo komandas vėlgi į C programėlės masyvus, ir dar automatiškai sukonstruotų EXE headerį bei keletą tarnybinių sekcijų (.rdata, .idata bei pan) su C-struktūromis, masyvais bei pointerių operacijomis.

Na ir ką, pasirašiau per kokį mėnesį-du (susumavus visus prisėdimus į vientisą laiko tarpą).  Kadangi įrankis buvo skirtas tik man, net nemėginau jo rašyti gražiai.  Turbūt būtų gėda man jo kodą parodyt viešai:).  Beje, be AWK-o buvo neapsieita.

EDIT

Dar Adomui.  Dėl Perl įmantrybių suabejojau, ar įmanoma jas išmokti per 1/3 pusdienio:)
http://www.garshol.priv.no/download/tex … html#id3.1.

O geriausias patarimas dėl skriptelio pasirašymo bus tada, kai kas nors BASHinio nulūš ir dar stipriai=) -- tuomet sužinosi/prisiminsi net ir apie BashDb, turbūt.

Paskutinį kartą redaguotas s2 (2011-05-31 17:12:23)

Atsijungęs

Lentos poraštė