; TeX output 2003.04.04:1550 Оx#jۺcolor push Blackhtml:color push gray 0 color pop html:fdFf color pop㖍ۺ^jhtml: html:html: html:DǍ [DM%
aessbx10Unix `shellscripting!C ԁDM% G
aessbx10DanielSC.vonAsmuth#lInhoudsopgavecolor push gray 0html: Ս 1
ecrm10001.U Unixendeshell html: color pop color push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push gray 0html:1 html: color popffcolor push gray 0html:
2.U elementairshellprogrammeren html: color popTcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push gray 0html:6 html: color popXcolor push gray 0html:X 3.U enkeleUnixtoGols html: color pop`color push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color popcolor push Black. color pop-6color push gray 0html:18 html: color pophtml: html: html: html: DitKiseenuitgebreideinleidingoverKhetgebruikvqandehtml: html:UnixshellenbijbGehorendehulpmiddelenomscriptste schrijven.JHetverondersteltenigekennisvqandehtml: html:Unixcommandoregel,bijvoGorbeeldJdebash-prompt-howto.Het bGevqatU watmeervoGorbeeldenU dandeocilehandleidingen. @html: html:'DM% ff
aessbx101.E/Unixendeshell33html: html: De6shellisdehtml: html:Unix`commandostip',dieopGdrachten6vqandegebruikersinleestvanhettoGetsenbord,6zeuitvoGerten hetresultaatophetschermzet.IndesimpGelstevormbGestaateenopdrachtuitdenaamvqaneenprogramma;de shell#{zaldatprogrammadanopstarten,datdebGeschikkingoverhettoGetsenbord#{enbGeeldschermkrijgt,enlaateen nieuweU promptzienalshetprogrammabGeindigdis.html: html:X HetGhtml: html:UnixbGesturingssysteemwordtweleensvoGorgesteldalsbestaandeuiteenhardekernoftewelkernel,diede hardwareaanstuurtenhardwareaanstuurtendatdeshelleenschileromheenis,diedekernelvqandegebruikers afschermt.rHetisechterrdetaakvqandekernelomdehardwareafteschermen,terwijldeshelldientomtoGegangtot hetsysteemtegeven.Gebruikersprogramma'shoGevengeengebruikvqandeshelltemaken;deC-bibliotheekheeft bijvoGorbeeldU weldefunctievqaneenschilomdekernel.html: html: DM%
aessbx101.1.dRinleidingShtml: html:
Dit@verhaalgaatervqanuitdatuenigeervaringmethtml: html:UnixhebtendusmethettypGenvancommando'sindeshell. HetzkqannoGoitkwaadomdeuitgebreideinformatieovereenbGesprokencommandooptevragenmethtml: html:mancommando ofU (ophtml: html:GNUsystemen)html: html:infocommando.html: html:
( Er>zijnverschillende>vqariantenophethtml: html:UnixbGesturingssysteem;allebesturingssystemendiedehierbesprokencom- mando's"bGezittenwordenhiervoGorhetgemakmethtml: html:Unixaangeduid,ookalzijnzenietgebaseerdopdeoriginele coGdeBvqanhtml: html:ABT&BT.Opeenhtml: html:UnixsysteemzijnvaakverschillendeBshellstevinden.HetisoGokmogelijkomeenshell te?draaienopWindowshtml: html:NT9
tcrm1000.DevoGorbeelden?bijditverhaalzijngetestonderLinuxenzullenopanderesystemen somsU aanpassingbGehoeven.html: html:X De%,oGorspronkelijkehtml: html:ck aett9/bin/shisdeBourneshell,endeanderezijndaarvqanafgeleid.DenummertweewasdeC-shell, diehandigefeatureshadomproGcessentebesturen,maarminderhandigomermeeteprogrammeren,endusniet verder@aandeordezalkomen.DenieuwereKornshelllijktweermeeropdeBourneshell,metdefeaturesvqande C-shell,spluseenhelereekseigenuitbreidingenvoGorinteraktiefgebruikenprogrammeren.DeBourneAgainShell vqanU hethtml: html:GNUpro 0jektheefteveneenseenwijdeverbreidinggekregen.html: html:! 1.2.dRMijneerstescriptjeShtml: html:
Het=bijzondereaandeshellisdathijzowel=eenhandigecommandoverwerker=isvoGorinteraktiefgebruikalseenpro- grammeertaal.wV*erschillendedelenvqaneenhtml: html:UnixbGesturingssysteembestaanuitshellscripts,omdatdezegemakkelijk0 ۺcolor push BlackF1Ff color pop *Оx#jۺcolor push Blackhtml:color push gray 0 color pop html:fdUnixU shellscriptingFf color pop㖍hjdoGordegebruikeraandiensbehoeftekunnenwordenaangepast,watvoGoralsysteembGeheerderswaarderen.Shell
scriptsU wordenoGokvqaakgebruiktalseenschilomeencomplexeapplicatie.ۺhtml: html:X HetiseenkleinemoGeiteomeenkortereeksveelgebruiktecommando'ssamentevoGegentoteenscriptje:maakmet html: html:viU (c.q.uwfavorieteeditor)eenlehtml: html:voorbeeldaanmetdevolgende,vrijwillekeurige,inhoud:@html: html:html: html: 3[ date3 unameG-a who V*ervolgensstyptuhtml: html:chmoGdugo+rxvoGorbeeld>waarmeehettekstbestandtotprogrammawordtgepromoveerd,dat
met9html: html:./voGorbeeldshkqan9wordenuitgevoGerd.DekerneliszelfinstaattebGepalenofeenuittevoGerenleeenscriptof binairU programmabGevqat.html: html:X InhetvoGorbeeldisdedirectorywaarhetprogrammazichbGevindtexplicietopgegeven.Alsdiewordtweggelaten zalodeshelldelijstvqandirectory'sdoGorzoekenodieindespGecialevariabGelehtml: html:$P*ATHYstaat.oHetisenigszinsriskantom deU aktueledirectory(html: html:.)inhetzoGekpadoptenemen.html: html:
( Eenstandaardvergissingisomeigenprogramma'sdenaamhtml: html:testtegeven.Helaasishtml: html:testeeningebGouwdcommando vqan+deshell.Deshellheeftnietzoveel+ingebGouwdecommando's:hetmeestewerkwordtdoGorexterneprogramma's gedaan.html: html:! 1.3.dRhallo html: html: AlsPvolgendevoGorbeeldPdenederlandstaligeversievqanhetonvermijdelijkenuttelozeprogrammahtml: html:hello,bGekendvqan KernighanU &Ritchie.@html: html:html: html: #!/bin/sh3 #Gditprogrammazegtvriendelijkgoedendag echoGHallo,allemaal!;exit0 Dit[8lijktalietsmeeropeenprogramma.Indeeersteregelstaatachter[8html: html:#!aangegevenwelkprogrammahetscript
moGetauitvoeren.Normaliterisdatdeshellwaarmeeuinlogt;ukunthiermeevoGorkomendateenprogramma nietʺwerktalshetbijvoGorbeeldʺvqanafdeC-shellwordtgestart.AandeanderekqantzaleenscriptdatbGegintmet html: html:#!/bin/bashnietwerkenopeensysteemwaardieshellinhtml: html:/usr/local/binstaatofafwezigis.Dezeeigenschapis voGoralU handigvoGorscriptsinanderetalen,bijv.:@html: html:html: html: #!/usr/bin/perl3 printG"Hallo,allemaal!\n" Deprogrammeertaalhtml: html:PerlwordthiernietverderbGehandeld.V*oorderestgeefteenhekjeaandatderestvqanderegel kommentaaris.EenlegecommandoregelistoGegestaan.BehalveheteindevqanderegelkanoGokeenpuntkomma wordenU gebruiktomopGdrachtentescheidendienaelkqaarwordenuitgevoGerd.html: html:X DeopGdrachthtml: html:echoiseeningebGouwdefunctievqandeshell,netalstrouwensexit.html: html:EchozorgtervoGordatderesterende woGordenophethtml: html:standaarduitvoGerkqanaal(bijv.hetscherm)wordenafgedrukt.Shellcommando's,argumentenen vlaggenU moGetenatlijdvqanelkaarwordengescheidendoGorspatiesofanderescheidingstekens.html: html:X DeSopGdrachthtml: html:exitbGeindigthetscript,ookalsernogopdrachtenvolgen;hetgebruikervqanisnietverplicht.Net als(deexitfunctieineenC'programmawordtereenfoutcoGdegeretourneerd,die0bedraagtalsergeenfoutis opgetreden.U Typmaareensdevolgenderegelsinachterdeprompt.@html: html:html: html: true3 echoG$?0 ۺcolor push BlackF2Ff color pop LޠОx#jۺcolor push Blackhtml:color push gray 0 color pop html:fdUnixU shellscriptingFf color pop㖍hjfalse3echoG$? DevqariabGelehtml: html:$?krijgtdehtml: html:exitstatusvanhetlaatstuitgevoGerdecommandoofscript.Naexitofheteindevaneen
scriptEgaatdeshellverdermethetaanroGependeEscriptofvraagtdegebruikerominvoGer.html: html:T*rueenhtml: html:falsezijnexterneprogramma'svdienietsdoGenenalleeninshellprogramma'snuthebben.HetresultaatverschiltvnogalvqanBooleantypGesU inandereprogrammeertalen.ۺhtml: html:X Als,uinlogtzaldeshelleersthetscripthtml: html:/etc/profileuitvoGeren,waarinzichalgemeneinstellingenbGevinden,gevolgd doGor3html: html:.profileinuweigendirectory*,waarinuuwpGersoonlijke3instellingenkwijtkunt.BashenkshkennenoGok initialisatieleshtml: html:~/.bashrcenhtml: html:~/.kshrcdieiederekeeruitgevoGerdwordenalseeninteractieveshellstart,bijvoGorbeeld bijU hetopGenenvqaneenxterm.html: html:! 1.4.dReenherhalingso\#efeningShtml: html:
DerestvqandithoGofdstukwordtbesteedaanhtml: html:Unixendeshell,zonderdaterverderprogrammerenbijkomtkijken. DeU bGehandelingzalergoppervlakkigblijven;incolor push gray 0html:Paragraaf3 html: color popkomenweeruitgebreidopterug.html: html:X Hetcentraleconceptinhtml: html:Unixisdehtml: html:leoftewelhetbGestand.FileswordenvoGortdurendgebruiktwaarinformatievoGor minPofmeerlangetijdmoGetwordenbewaard.Eenleiseenreeksbytes,diemeestalopeenschijfwordtbGewaard. DebGelangrijksteoperatieszijnhetlezenofschrijvenvqaneenaantalbytes.Daarbijwordtdehtml: html:lepGointerofbladwijzer omChetaantalgelezenofgeschrevenbytesverplaatst.V*erderishetmogelijkomdelepGointernaareenopgegeven puntU teverplaatsenendelengtevqanhetbGestandintekrimpentotbijvoorbeeldnulbytes.html: html:X DeinhoudvqaneenbGestandligtnietvast.html: html:UnixmaaktvaakgebruikvantekstbGestanden.EenbytestaatdanvoGor een
letterteken(kqarakter)vanhethtml: html:ASCIGIalfabet.
Hettekenoftewel0xaoftwel^Joftewel\ngeeftheteinde vqaneenregelaan.ErisgeentekennoGdigomheteindevaneenbGestandtemarkeren,maar^Dkanwordengebruikt omU invoGervqandeterminaltebeindigen.html: html:X V*eeltoGolsgaanervqanuitdateenbestandtekstbevqat.Bijvoorbeeldzalhtml: html:catvoorbeelddeinhoudvqanhetbestand overhetschermlatenlopGen.Alshetbestandechtergeentekstbevqat,dankandeterminaldeklutskwijtrakenvan deU stuurcoGdes;doedusgeenhtml: html:/bin/cat/bin/cat.Methtml: html:cat-vlooptugeengevqaar.html: html:
( InsommigeUniceskuntudeschadereparerenmethetcommandohtml: html:reset.DeoudemethoGdeisdeterminaluiten weeraantezetten.DeschadeistevoGorkomen.Hetkommandohtml: html:lehallozouietsmoGetengevenalshtml: html:hallo:GBourne shellGscripttext.whtml: html: Als
2leeenfrasemethetwoGord`executable'erinretourneert,hebbenwetemakenmeteenbinairprogramma.Een binair,programmakunjealleenuitvoGeren:datwerktweleenstuksnellerdaneeningewikkeldshellscript.Filekqan zichU ondankszijn`magic'uiteraardvergissen.html: html:X V*erderzijnerspGecialeles,waarmeebijvoGorbeeldapparatenkunnenwordenafgelezenofbGeschrevenalsofhet leswaren;eentapGewordtbijvoGorbeeldbediendalseenhelelangepseudo-le,waarvqandegrootteaaneenvqast maximumU isgebGonden.Dezewordenvqaakindehtml: html:/devdirectorygevonden.html: html:X T*ekstCkdienaarhtml: html:/dev/ttywordtgeschreven,wordtwelzichtbaargemaakt,maarnietopgeslagen.EenpGogingom html: html:/dev/tty9ٺuittelezenretourneertnietdegeschreven9tekst,maarvqanhettoGetsenbord9ingevoerde9tekens.html: html:Unixzalu latenU wachtentotdatereenregelisingevoGerd,c.q.opdereturn-toetsisgedrukt.html: html:X OmeentekstbGestanduitteprintenzoujehtml: html:cathallo>/dev/lp0ofietsdergelijkskunnendoen,maarhtml: html:Unixstaatdat enkelSaandeuserhtml: html:roGottoe.DejuistemanieromeenbestandteprintenisviahetprinterspGoolprogrammaSmethtml: html:lpr hallo html: html: EenanderbGestanddatinscriptsgebruiktkqanwordenishtml: html:/dev/null,ookweldebittenbakgenoGemd,omdatalledata die`ernaartoGewordengeschrevendirektwordenweggegoGoidintegenstellingtotdevuilnisbakvqandeMacintosh. LezenU uithtml: html:/dev/nullistoGegestaan,maarerzalnietsuitkomen.html: html:0 ۺcolor push BlackF3Ff color pop `Оx#jۺcolor push Blackhtml:color push gray 0 color pop html:fdUnixU shellscriptingFf color pop㖍hjDehtml: html:directory'skunnenwordenbGeschouwdalseenspGeciaalsoortbestand,datalleenmetspecialeopdrachtenals
html: html:ls,html: html:cp,html: html:mv,html: html:rmenhtml: html:lnkqanwordengemanipuleerd.Directory'sbGevqattenweinigandersalsdenamenvqanlesendirectory's.-DaaromisvoGoreenopdracht-alshtml: html:rm-f./voorbeeldschrijfpermissieopdeaktueledirectoryvereist,maargeenpGermissieophetbestand.Inscriptsgebruikenwevqaakdehtml: html:-foptie,zoGdathtml: html:UnixnietnogeensvraagtofwehetwelU zekerweten.ۺ html: html: Een_lekqanmeerderenamenofhtml: html:linkshebbGen;methetcommandohtml: html:lnwordteennieuwelinknaareenbGestaand bGestand1gelegd.html: html:ln/bin/ls/bin/dirmaakteennieuwcommando,html: html:dirgeheten,dathetzelfdedoetalshtml: html:ls.Methtml: html:rm wordthetaantallinksmetnverminderd.PaswanneerdattotnulisgedaaldenhetbGestandnietingebruikis, zalU html: html:UnixhetbGestanddaadwerkelijkU verwijderen.html: html:X Het*isnietmogelijknaareenlinktemakennaareendirectoryofeenbGestandopeenandereschijf.DezebGeperking wordtcopgehevendoGordehtml: html:symbGoliclinkofsnelkoppGeling,diejemaaktmethtml: html:ln-s.EensnelkoppGelingloopthetgevqaar datfhetbGestandwaarhijnaarverwijstnietbGestaatofdateencirculaireketenvqanlinksontstaat.V*ergelijkde uitvoGerU vqanhtml: html:ls-lLeensmethtml: html:ls-l.@html: html: html: html:3 -rwxr-xr-xG1danielusers769Mai29example -rwxr-xr-xG1danielusers769Mai29voorbeeld lrwxrwxrwxG2danielusers%3Jun6example->wie lrwxrwxrwxG2danielusers%3Jun6voorbeeld->wie html: html:# 1.5.dRpro\#cessenenhunin-enuitvoerShtml: html:
W*eVkzagenaldateenprogrammainhtml: html:UnixwordtopgeslagenineenbGestand.Eenhtml: html:Unixhtml: html:procesiseenlopendprogramma,
metMAzijndataendecontextwaarinhetdraaitzoalsdehuidigedirectory*.MoGdernebesturingssystemenkunneneen proGcesEverdeleninzgn.html: html:threads;enprogrammakqandaarmeemeerderetakentegelijkuitvoGeren,diehundatadelen, watU alsnelineenchaoskqanontaarden.html: html: Dedshellzal,metuitzonderingvqaningebGouwdeopdrachten,dcommando'suitvoerendooreraparteprocessenvoor teFtstarten.ShellscriptswordendoGorgaansinafzonderlijkeproGcessen(subshells)uitgevoGerd.Ondanksdathtml: html:Unix' html: html:multi-taskingecinterxwerktdanhuis-,tuin-enkeukenbGesturingssystemen,maakthetvoGortdurendemakenen opruimenU vqanproGcessenshellscriptseenstuklangzamerdanandereprogrammeertalen.html: html:X Als^eenexternprogrammaisopgestartzaldeshellgewoGonwachtentotdathijeenseintjeontvqangtvandekernel datU hetkindproGcesisgestorvenc.q.beindigd.html: html:X DoGorZTeen`ampersand'achterZTeencommandotezettenalsinhtml: html:voorbeeld&,zalhet`indeachtergrond'ZTwordenverwerkt, enU deshellonmiddellijkomdevolgendeopGdrachtvragen.html: html:X EenvoGorbeeldvqaneeningebouwdeopdrachtishetcommandohtml: html:cd.Beginnersverbazenzichersomsoverdateenhtml: html:cd opGdrachtDbinneneenshellscriptwelwordtuitgevoGerd,maarheteektervqanvergetenisalshetscriptbGeindigdis enU terugkeertnaardeinteractieveshell.html: html:X Commando'sineenscriptkunnenoGokwordenuitgevoGerdmetbijv.html: html:../voGorbeeld.HiermeewordendeopGdrachten inthetbGestandvoorbeeldbinnendelopendeshelluitgevoerdenwerkthtml: html:cdbijvoGorbeeldtwel.Eenmindergebruikte mogelijkheid2isomprogramma's(nietalleenscripts)testartenmetdeopGdracht2html: html:execervoor.Erwordtdangeen apartpproGcesgemaakt,maarhetnieuwepprogrammawordtinhetlopendeprocesgeladenenvervqangthet,zodat hetU oGorspronkelijkeprogrammanaaoGopnietverderkqangaan.html: html:X T*ot decontextvqaneenproGcesbehorenookdestandaardinvoer-, uitvoer- enerror-kqanalen.V*ooreeninteractieve shellverwijstdestandaardinvoGernaarhettoetsenbordendeuitvoerenerrorkqanalennaarhetbeeldscherm.Alsu bGent(ingelogdviaeenmodemofnetwerk,(danverwijzendezekqanalennaaruwschermentoGetsenbord(inplaatsvqan datU vqandecomputerwaaropdeshelldraait.html: html:0 ۺcolor push BlackF4Ff color pop z֠Оx#jۺcolor push Blackhtml:color push gray 0 color pop html:fdhtml: html:fdUnixU shellscriptingFf color pop㖍hjMety!html: html:./voGorbeeldresultaatwordendekqanalenomgeleidzodatdeinhoudvqanhetbestandhtml: html:datazalworden
gelezenU endeuitvoGerinhetbestandhtml: html:resultaatkomt.U Eventuelefoutmeldingenkomennogophetscherm.ۺhtml: html:X Denotatiehtml: html:./voGorbeeldo>resultaat2>&1&zegtdathetscriptindeachtergrondmoGetdraaien.W*ezien toGch}geenresultaten.Hetdubbele`groterdan'tekengeeftaandatdeuitvoGerachterdebGestaandeinhoudvqan html: html:resultaatU moGetkomeninplaatsvqanhetbestandeersttewissen.html: html:X De-Caanduidinghtml: html:2>&1geeftaandathetstandaarderror-kqanaal(detweede-Chtml: html:le-descriptor)eenkopieisvannummer 1M(standaarduitvoGer),dusfoutmeldingenenresultatenverschijnendoGorelkqaarheeninhetbestandhtml: html:resultaat;het standaard-invoGerkqanaalkheeftle-descriptornummer0.Kindprocessenervenle-descriptors(openbestanden);de standaardMkqanalenzijnaltijdopGen.AlsdestandaardkanalenzijnomgeleidnaarbGestandenzijntoetsenborden bGeeldschermU tochU tebGenaderendooromteleidennaarhetpseudo-bestandhtml: html:/dev/tty.whtml: html: Een)html: html:here-doGcumentiseenbijzondergevqalvanomleidingwaarindeteverwerkengegevensinhetscript-bGestandzelf staan.@html: html: html: html:3 fox=dog;Gdog=fox catG<