Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
1.1.WYKORZYSTANIEINTERPRETERA
przyjrzeniasięwybranemuprzezsiebieinterpreterowiwewłasnymzakresie.Pominęrów-
nieżopiswiększościpoleceń(zarównowbudowanych,jakidostępnychwsystemieopera-
cyjnym)dooperacjinaplikachikatalogachzostałyoneopisanewwieluinnych,łatwo
dostępnychpublikacjach,np.:
Bash:
cmd.exe:
tory_Management
http://www.tldp.org/LDP/GNU-Linux-Tools-Summary/html/c2690.htm
http://www.tldp.org/LDP/GNU-Linux-Tools-Summary/html/x3289.htm
http://en.wikibooks.org/wiki/Guide_to_Windows_Commands/File_and_Direc-
http://en.wikibooks.org/wiki/Guide_to_Windows_Commands/File_Commands
1.1.Wykorzystanieinterpretera
Poniżejzaprezentowalemkilkaprzykładówużyciainterpreterawrazzkrótkim,wysoko-
poziomowymopisemichdziałania.Większośćużytychmechanizmówjestwyjaśniona
wdalszejczęścitegorozdziału.
(Ubuntu)reset&&maketest
(Windows)cls&&maketest
Wyczyszczenieoknakonsoliorazrekompilacjaprojektuijegouruchomienie(przy
wykorzystaniuskryptuMakefile).WprzypadkudystrybucjiUbuntuosobiściepreferuję
stosowaniekomendy(programu)resetzamiastclear,ponieważwemulatorzekonsoli,zktó-
regokorzystam(GNOMETerminal),resetczyścicałybufortekstowykonsoli,natomiast
clearjedynieprzewijaekranniżejtak,bywydawałosię,żezostałonwyczyszczonyjestto
istotne,gdykompilacjaluburuchomienieprojektupowodujewypisaniedużejilościtekstu,
adlanaswygodnebyłobyszybkieprzewinięcieekranunapoczątekdanych.Alternatywnie
możnabyskorzystaćnp.zpoleceniamaketest2>&1|less.
(Ubuntu)pythongen-input.py|LD-PRELOAD=`pwd`/debug.so./app
Uruchomienieskryptugen_input.py,którygenerujenastandardowewyjściepewne
danewejściowedlaaplikacjiapponeprzekazywanenajejstandardowewejście.Dodat-
kowoniektóreimportowaneprzezaplikacjęfunkcjezostanąpodmienionenafunkcjeotej
samejnazwie,znajdującesięwdynamicznejbibliotecedebug.so,któraumieszczonajest
wobecnymkataloguroboczym.
(Ubuntu)foriin{1..1000};do./a.out$i;cpout.data
data/$i.data;done
(Windows)for/l%iin(1,1,1000)do@(a.exe%i&&copyout.
datadata\%i.data)
Uruchomienieaplikacjia.out/a.exetysiącrazyzkolejnymiliczbami(od1do1000)
wpierwszymparametrze.Zakażdymrazemwygenerowanyprzezaplikacjęplik
27