<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="da">
	<id>https://www.matfystutor.dk/w/index.php?action=history&amp;feed=atom&amp;title=BASH_Scripting</id>
	<title>BASH Scripting - Versionshistorie</title>
	<link rel="self" type="application/atom+xml" href="https://www.matfystutor.dk/w/index.php?action=history&amp;feed=atom&amp;title=BASH_Scripting"/>
	<link rel="alternate" type="text/html" href="https://www.matfystutor.dk/w/index.php?title=BASH_Scripting&amp;action=history"/>
	<updated>2026-04-29T18:28:40Z</updated>
	<subtitle>Versionshistorie for denne side i Hackerwiki</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://www.matfystutor.dk/w/index.php?title=BASH_Scripting&amp;diff=385&amp;oldid=prev</id>
		<title>20096365: /* At afslutte med en Return Code */</title>
		<link rel="alternate" type="text/html" href="https://www.matfystutor.dk/w/index.php?title=BASH_Scripting&amp;diff=385&amp;oldid=prev"/>
		<updated>2013-04-27T09:51:58Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;At afslutte med en Return Code&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Ny side&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Bash ('''B'''ourne-'''A'''gain '''SH'''ell) scripting er en god ting at kunne, for det er rigtig brugbart. Det er lidt det samme som batch-scripting på Windows®, altså det at lave .bat filer, men bare med en anden syntax. Det kan i sidste ende spare dig en hel del tid når du arbejder med større projekter, og/eller bare skal køre de samme kommandoer mange gange fx kopiere .class filer til Tomcat mappe, og genstarte tomcat.&lt;br /&gt;
&lt;br /&gt;
==At starte simpelt==&lt;br /&gt;
Ethvert script skal starte med en linie, der oplyser hvilket program scriptet skal køres med, i det her tilfælde &amp;lt;tt&amp;gt;/bin/bash&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
&lt;br /&gt;
De efterfølgende linier indeholder så kommandoer, fx:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   echo &amp;quot;Hello World!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Det ovenstående skriver &amp;quot;&amp;lt;tt&amp;gt;Hello World!&amp;lt;/tt&amp;gt;&amp;quot; ud til konsollen.&lt;br /&gt;
&lt;br /&gt;
Man kan også definere variabler. Det nedenstående svarer til det ovenstående:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   hej=&amp;quot;Hello World!&amp;quot;&lt;br /&gt;
   echo $hej&lt;br /&gt;
&lt;br /&gt;
Man kan også tage output fra en anden kommando og bruge som variabel:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   hej=&amp;quot;Hello $(whoami)!&amp;quot;&lt;br /&gt;
   echo $hej&lt;br /&gt;
&lt;br /&gt;
Det ovenstående tager output fra &amp;lt;tt&amp;gt;whoami&amp;lt;/tt&amp;gt;, som er dit brugernavn, og skriver Hello foran. Outputtet bliver: Hello brugernavn!&lt;br /&gt;
&lt;br /&gt;
Men det er jo ikke mit navn, tænker du så, og nej det har du ret i. Man kan derfor tage imod input fra brugeren med &amp;lt;tt&amp;gt;read&amp;lt;/tt&amp;gt; kommandoen:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   echo Indtast dit navn:  &lt;br /&gt;
   read hej&lt;br /&gt;
   echo &amp;quot;Hello $hej!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Nogle gange vil man tilføje ekstra bogstaver til en variabel fx:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash  &lt;br /&gt;
   banan=&amp;quot;banan&amp;quot;;&lt;br /&gt;
   echo &amp;quot;$banan i flertal er ${banan}er&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Man skal i dette tilfælde omringe variabelnavnet med &amp;lt;tt&amp;gt;${}&amp;lt;/tt&amp;gt;. Dette skyldes at bash ellers ville lede efter en variabel der hed &amp;lt;tt&amp;gt;$bananer&amp;lt;/tt&amp;gt; og give en runtime-fejl, da denne ikke fandtes.&lt;br /&gt;
&lt;br /&gt;
==Boolean værdier og tests==&lt;br /&gt;
I linux afslutter alle programmer med en &amp;lt;tt&amp;gt;return code&amp;lt;/tt&amp;gt;. Bash ser return code 0 som sand, og alt andet som falskt.&lt;br /&gt;
&lt;br /&gt;
   $ echo &amp;quot;Hello World!&amp;quot; | grep Hello&lt;br /&gt;
   Hello World!&lt;br /&gt;
   $ echo $?&lt;br /&gt;
   0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;echo $?&amp;lt;/tt&amp;gt; ser hvad den sidste return code var, og udskriver den. I dette tilfælde returnerede grep 0, hvilket betyder at strengen &amp;quot;Hello&amp;quot; fandtes i &amp;quot;Hello World!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;test&amp;lt;/tt&amp;gt; kommandoen bruges til at evaluere simple boolean udtryk, fx:&lt;br /&gt;
&lt;br /&gt;
   $ test 10 -lt 5             #Tester om 10 er mindre end (less than) 5&lt;br /&gt;
   $ echo $?             &lt;br /&gt;
   1                           #Det er det ikke, da return code er forskellig fra 0&lt;br /&gt;
   $ test -n &amp;quot;Hello World!&amp;quot;    #Tester om strengen &amp;quot;Hello World!&amp;quot; har en non-zero længde (længde der ikke er nul)&lt;br /&gt;
   $ echo $?&lt;br /&gt;
   0                           #Det har den, da return code er 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;test&amp;lt;/tt&amp;gt; har et usædvanligt alias, nemlig &amp;lt;tt&amp;gt;[&amp;lt;/tt&amp;gt;. Denne notation skal dog afsluttes med en &amp;lt;tt&amp;gt;]&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   $ [ 10 -lt 5 ]&lt;br /&gt;
   $ echo $?&lt;br /&gt;
   1&lt;br /&gt;
&lt;br /&gt;
Husk på, at der skal være mellemrum mellem de forskellige argumenter, for ellers fejler det:&lt;br /&gt;
   &lt;br /&gt;
   $ [ 5 -lt 4]          #Ingen mellemrum mellem 4 og ]&lt;br /&gt;
   bash: [: missing ']'&lt;br /&gt;
&lt;br /&gt;
Argumenter for test kommandoen, og forklaringer:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;120&amp;quot;|Fil tests &lt;br /&gt;
! width=&amp;quot;250&amp;quot;| Forklaring&lt;br /&gt;
|-&lt;br /&gt;
| -d ''fil'' &lt;br /&gt;
| Er ''fil'' en mappe&lt;br /&gt;
|-&lt;br /&gt;
| -f ''fil'' &lt;br /&gt;
| Er ''fil'' en almindelig fil&lt;br /&gt;
|-&lt;br /&gt;
| -L ''fil'' &lt;br /&gt;
| Er ''fil'' et symbolsk link&lt;br /&gt;
|-&lt;br /&gt;
| -r ''fil'' &lt;br /&gt;
| Eksisterer ''fil'' og er den læsbar&lt;br /&gt;
|-&lt;br /&gt;
| -w ''fil'' &lt;br /&gt;
| Eksisterer ''fil'' og er den skrivbar&lt;br /&gt;
|-&lt;br /&gt;
| -x ''fil'' &lt;br /&gt;
| Eksisterer ''fil'' og er den eksekverbar&lt;br /&gt;
|-&lt;br /&gt;
| -s ''fil'' &lt;br /&gt;
| Eksisterer ''fil'' og er dens størrelse forskellig fra 0&lt;br /&gt;
|-&lt;br /&gt;
| ''fil1'' -nt ''fil2''&lt;br /&gt;
| Er ''fil1'' nyere end ''fil2''&lt;br /&gt;
|-&lt;br /&gt;
| ''fil1'' -pt ''fil2''&lt;br /&gt;
| Er ''fil1'' ældre end ''fil2''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;120&amp;quot;| Streng tests &lt;br /&gt;
! width=&amp;quot;250&amp;quot;| Forklaring&lt;br /&gt;
|-&lt;br /&gt;
| ''s1'' = ''s2'' || Streng ''s1'' er lig med ''s2''&lt;br /&gt;
|- &lt;br /&gt;
| ''s1'' != ''s2'' || Streng ''s1'' er forskellig fra ''s2''&lt;br /&gt;
|- &lt;br /&gt;
| -z ''s1'' || Streng ''s1'' har længde 0&lt;br /&gt;
|-&lt;br /&gt;
| -n ''s1'' || Streng ''s1'' har længde forskellig fra 0&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;120&amp;quot;| Numeriske tests &lt;br /&gt;
! width=&amp;quot;250&amp;quot;| Forklaring&lt;br /&gt;
|-&lt;br /&gt;
| ''a'' -eq ''b'' || Heltal ''a'' er lig med ''b''&lt;br /&gt;
|- &lt;br /&gt;
| ''a'' -ne ''b'' || Heltal ''a'' er forskellig ''b''&lt;br /&gt;
|- &lt;br /&gt;
| ''a'' -gt ''b'' || Heltal ''a'' større end ''b''&lt;br /&gt;
|- &lt;br /&gt;
| ''a'' -ge ''b'' || Heltal ''a'' større eller lig med ''b''&lt;br /&gt;
|- &lt;br /&gt;
| ''a'' -lt ''b'' || Heltal ''a'' mindre end ''b''&lt;br /&gt;
|- &lt;br /&gt;
| ''a'' -le ''b'' || Heltal ''a'' mindre eller lig med ''b''&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! width=&amp;quot;120&amp;quot;| Kombinering af tests &lt;br /&gt;
! width=&amp;quot;250&amp;quot;| Forklaring&lt;br /&gt;
|-&lt;br /&gt;
| t1 -a t2 || AND: Både t1 OG t2 er sande&lt;br /&gt;
|-&lt;br /&gt;
| t1 -o t2 || OR: Enten t1 ELLER t2 er sand&lt;br /&gt;
|-&lt;br /&gt;
| ! ''din_test'' || Udeluk en test, her bliver ''din_test'' falsk&lt;br /&gt;
|-&lt;br /&gt;
| \( ''din_test'' \) || Paranteser bruges, som i matematik, til at gruppere udtryk&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tt&amp;gt;bash&amp;lt;/tt&amp;gt; har indbyggede kommandoer &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; og &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;, som returnerer hhv. 0 og 1:&lt;br /&gt;
&lt;br /&gt;
   $ true&lt;br /&gt;
   $ echo $?&lt;br /&gt;
   0&lt;br /&gt;
   $ false&lt;br /&gt;
   $ echo $?&lt;br /&gt;
   1&lt;br /&gt;
&lt;br /&gt;
Disse vil være brugbare når der skal laves if-else sætninger.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==If sætningen==&lt;br /&gt;
&lt;br /&gt;
If sætningen vælger imellem en vilkårlig mængde alternativer, hvor hver af dem også kan indeholde en eller flere if sætninger. Den simpleste if-sætning er en if-then:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   if [ $(whoami) = &amp;quot;root&amp;quot; ]           #Hvis return code er 0&lt;br /&gt;
   then&lt;br /&gt;
       echo &amp;quot;Du er superbrugeren&amp;quot;      #Udfør dette kode&lt;br /&gt;
   fi&lt;br /&gt;
&lt;br /&gt;
Så er der den lidt mere komplekse if-then-else:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   if [ $(whoami) = &amp;quot;root&amp;quot; ]          &lt;br /&gt;
   then&lt;br /&gt;
       echo &amp;quot;Du er superbrugeren&amp;quot;     &lt;br /&gt;
   else &lt;br /&gt;
       echo &amp;quot;Du er en aldmindelig gut&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
&lt;br /&gt;
Bemærk at if afsluttes med fi, som er det omvendte af if.&lt;br /&gt;
&lt;br /&gt;
Til sidst har vi if-then-elif-else sætningen, hvor der selvfølgelig kan forekomme vilkårligt mange elif imellem:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   if [ $(whoami) = &amp;quot;root&amp;quot; ]          &lt;br /&gt;
   then&lt;br /&gt;
       echo &amp;quot;Du er superbrugeren&amp;quot;     &lt;br /&gt;
   elif [ &amp;quot;$USER&amp;quot; = root ]&lt;br /&gt;
       echo &amp;quot;Du er måske superbrugeren&amp;quot;&lt;br /&gt;
   elif [ &amp;quot;$bestikkelse&amp;quot; -gt 10000 ]&lt;br /&gt;
       echo &amp;quot;Du kan betale dig til superbruger status&amp;quot;&lt;br /&gt;
   else&lt;br /&gt;
       echo &amp;quot;Du er bare en almindelig gut&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==case sætningen==&lt;br /&gt;
&lt;br /&gt;
Case er lidt ligesom if, men den tester kun forskellige tilstande af én boolean, hvor if kan teste flere forskellige.&lt;br /&gt;
&lt;br /&gt;
Case kan være ret handy:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   echo 'Hvad vil du gerne lave?'&lt;br /&gt;
   read svar&lt;br /&gt;
   case &amp;quot;$svar&amp;quot; in&lt;br /&gt;
     spise)&lt;br /&gt;
       echo &amp;quot;OK, tag en hamburger&amp;quot;&lt;br /&gt;
       ;;&lt;br /&gt;
     sove)&lt;br /&gt;
       echo &amp;quot;OK, godnat så&amp;quot;&lt;br /&gt;
       ;;&lt;br /&gt;
     *)&lt;br /&gt;
       echo &amp;quot;Jeg er ikke sikker på hvad du vil lave&amp;quot;&lt;br /&gt;
       echo &amp;quot;Vi ses nok i morgen&amp;quot;&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
Bemærk at case afsluttes med esac, som if gjorde med fi. Den generelle form ser sådan her ud:&lt;br /&gt;
&lt;br /&gt;
    case ''$streng'' in&lt;br /&gt;
       udtryk1)&lt;br /&gt;
         body1&lt;br /&gt;
         ;;&lt;br /&gt;
       udtryk2)&lt;br /&gt;
         body2&lt;br /&gt;
         ;;&lt;br /&gt;
       ....&lt;br /&gt;
       udtrykN)&lt;br /&gt;
         bodyN&lt;br /&gt;
         ;;&lt;br /&gt;
       *)&lt;br /&gt;
         body_else&lt;br /&gt;
         ;;&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
Hvor ''$streng'' er en variabel af en art, og udtryk1...udtrykN er udtryk strengen testes på. Hvert udtryk har et tilhørende body, dvs. kode der bliver udført, og denne '''skal''' afsluttes med &amp;lt;tt&amp;gt;;;&amp;lt;/tt&amp;gt; som vist foroven. Den sidste del &amp;lt;tt&amp;gt;*)&amp;lt;/tt&amp;gt; er ligesom en else for en if-sætning, det er det, der bliver udført, hvis ''$streng'' ikke passer i nogle af udtrykkene. Et andet eksempel følger:&lt;br /&gt;
&lt;br /&gt;
    case $bogstav in&lt;br /&gt;
      X)&lt;br /&gt;
        echo &amp;quot;Bogstavet er et X&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
      [aeiouøæå])&lt;br /&gt;
        echo &amp;quot;Bogstavet er en vokal&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
      [0-9])&lt;br /&gt;
        echo &amp;quot;Bogstavet er et ciffer&amp;quot;&lt;br /&gt;
        ;;&lt;br /&gt;
      *)&lt;br /&gt;
        echo &amp;quot;Jeg ved ikke hvad bogstavet er&amp;quot;&lt;br /&gt;
    esac&lt;br /&gt;
&lt;br /&gt;
==Løkker==&lt;br /&gt;
&lt;br /&gt;
While-løkken gentager et sæt af kommandoer så længe et udtryk er sandt.&lt;br /&gt;
&lt;br /&gt;
   while ''udtryk''    #Så længe udtrykket er sandt (kommandoen returnerer 0)&lt;br /&gt;
   do&lt;br /&gt;
     ''body''&lt;br /&gt;
   done&lt;br /&gt;
&lt;br /&gt;
Bemærk at løkker '''altid''' afsluttes med ''done''&lt;br /&gt;
&lt;br /&gt;
Betragt eksemplet herunder. Scriptet hedder &amp;lt;tt&amp;gt;mit_script&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   i=0&lt;br /&gt;
   while [ $i -lt 3 ]&lt;br /&gt;
   do&lt;br /&gt;
     echo &amp;quot;$i&amp;quot;&lt;br /&gt;
     let &amp;quot;i += 1&amp;quot;;    #Man kan også bruge i=$(($i+1))&lt;br /&gt;
   done&lt;br /&gt;
&lt;br /&gt;
For at køre scriptet skal man sørge for det er eksekverbart,&lt;br /&gt;
&lt;br /&gt;
   $ chmod +x mit_script     #Sørger for det er eksekverbart&lt;br /&gt;
   $ ./mit_script            #Kører scriptet&lt;br /&gt;
   0&lt;br /&gt;
   1 &lt;br /&gt;
   2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der er også &amp;lt;tt&amp;gt;until&amp;lt;/tt&amp;gt; løkken, som fortsætter med at gøre noget, indtil et udtryk bliver sandt:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   i=0&lt;br /&gt;
   until [ $i -ge 3 ]&lt;br /&gt;
   do&lt;br /&gt;
     echo &amp;quot;$i&amp;quot;&lt;br /&gt;
     let &amp;quot;i += 1&amp;quot;; &lt;br /&gt;
   done&lt;br /&gt;
&lt;br /&gt;
Kørslen af while og until eksemplet ser ens ud, da det er to måder at gøre det samme på.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Til sidst er der &amp;lt;tt&amp;gt;for&amp;lt;/tt&amp;gt;-løkken, den itererer over en liste:&lt;br /&gt;
&lt;br /&gt;
   for ''variabel'' in ''liste''&lt;br /&gt;
   do&lt;br /&gt;
     ''body''&lt;br /&gt;
   done&lt;br /&gt;
&lt;br /&gt;
Betragt eksemplet:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   for name in Jørgen Jens Jonas&lt;br /&gt;
   do&lt;br /&gt;
     echo &amp;quot;$name er min ven&amp;quot;&lt;br /&gt;
   done&lt;br /&gt;
&lt;br /&gt;
Ved kørsel ser det sådan ud:&lt;br /&gt;
&lt;br /&gt;
   $./mit_script&lt;br /&gt;
   Jørgen er min ven&lt;br /&gt;
   Jens er min ven&lt;br /&gt;
   Jonas er min ven&lt;br /&gt;
&lt;br /&gt;
For løkken er især brugbar når man skal iterere over filer:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   for file in *.doc&lt;br /&gt;
   do&lt;br /&gt;
     echo &amp;quot;$file er en træls Microsoft Word fil&amp;quot;&lt;br /&gt;
   done&lt;br /&gt;
&lt;br /&gt;
Den ovenstående løkker finder alle .doc filer, og udskriver &amp;lt;tt&amp;gt;filnavn er en træls Microsoft Word fil&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Som et supplement til løkkerne er der &amp;lt;tt&amp;gt;break&amp;lt;/tt&amp;gt; og &amp;lt;tt&amp;gt;continue&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Break kommandoen springer ud af den nuværende løkke:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   for name in Jørgen Jens Jonas&lt;br /&gt;
   do&lt;br /&gt;
     echo &amp;quot;$name er min ven&amp;quot;&lt;br /&gt;
     if [ &amp;quot;$name&amp;quot; = &amp;quot;Jens&amp;quot; ]&lt;br /&gt;
     then&lt;br /&gt;
        break&lt;br /&gt;
     fi&lt;br /&gt;
     echo &amp;quot;og&amp;quot;&lt;br /&gt;
   done&lt;br /&gt;
   echo &amp;quot;Færdig&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Kørslen ser således ud:&lt;br /&gt;
&lt;br /&gt;
   $ ./mit_script&lt;br /&gt;
   Jørgen er min ven&lt;br /&gt;
   og&lt;br /&gt;
   Jens er min ven     #Her sker break-et, og echo &amp;quot;og&amp;quot; bliver ikke udført&lt;br /&gt;
   Færdig&lt;br /&gt;
&lt;br /&gt;
Continue kommandoen derimod springer videre til næste iteration:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   for name in Jørgen Jens Jonas&lt;br /&gt;
   do&lt;br /&gt;
     echo &amp;quot;$name er min ven&amp;quot;&lt;br /&gt;
     if [ &amp;quot;$name&amp;quot; = &amp;quot;Jens&amp;quot; ]&lt;br /&gt;
     then&lt;br /&gt;
        continue&lt;br /&gt;
     fi&lt;br /&gt;
     echo &amp;quot;og&amp;quot;&lt;br /&gt;
   done&lt;br /&gt;
   echo &amp;quot;Færdig&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Kørslen ser således ud:&lt;br /&gt;
&lt;br /&gt;
   $ ./mit_script&lt;br /&gt;
   Jørgen er min ven&lt;br /&gt;
   og&lt;br /&gt;
   Jens er min ven     #Her sker break-et, og echo &amp;quot;og&amp;quot; bliver ikke udført, da løkken springer videre&lt;br /&gt;
   Jonas er min ven    #Her er den sprunget over echo &amp;quot;og&amp;quot; og fortsat løkken&lt;br /&gt;
   og&lt;br /&gt;
   Færdig&lt;br /&gt;
&lt;br /&gt;
== At køre scripts==&lt;br /&gt;
&lt;br /&gt;
Som nævnt før, skal scriptet være eksekverbart før man kan køre det. Dette gøres med &amp;lt;tt&amp;gt;chmod +x sriptsti/scriptnavn&amp;lt;/tt&amp;gt; kommandoen.&lt;br /&gt;
&lt;br /&gt;
Ud over det '''skal''' bash scripts starte med &amp;lt;tt&amp;gt;#!/bin/bash&amp;lt;/tt&amp;gt; før de kan eksekveres.&lt;br /&gt;
&lt;br /&gt;
Man kan også køre scripts med bash:&lt;br /&gt;
&lt;br /&gt;
    bash scriptnavn&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Kommandolinie argumenter==&lt;br /&gt;
&lt;br /&gt;
Bash scripts kan læse kommandolinie argumenter ligesom fx java. I bash scriptet refereres der til de forskellige argumenter med &amp;lt;tt&amp;gt;$1, $2, $3 ... $n&amp;lt;/tt&amp;gt; variablerne. &lt;br /&gt;
&lt;br /&gt;
$0 er en speciel variabel, der indeholder navnet på scriptet fx hvis &amp;lt;tt&amp;gt;mit_script&amp;lt;/tt&amp;gt; så således ud:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   echo &amp;quot;Scriptet hedder: $0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Ville kørslen se sådan her ud:&lt;br /&gt;
&lt;br /&gt;
   $./mit_script&lt;br /&gt;
   Scriptet hedder: ./mit_script&lt;br /&gt;
&lt;br /&gt;
Antallet af argumenter gemmes i en tredje variabel: &amp;lt;tt&amp;gt;$# &amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Argumenter gemmes også i en liste: &amp;lt;tt&amp;gt;#@&amp;lt;/tt&amp;gt;  så man kan iterere over dem:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   i=0&lt;br /&gt;
   for arg in $@&lt;br /&gt;
   do&lt;br /&gt;
      let &amp;quot;i += 1&amp;quot;&lt;br /&gt;
      echo &amp;quot;Argument $i : $arg&amp;quot;;&lt;br /&gt;
   done &lt;br /&gt;
&lt;br /&gt;
En kørsel kunne se således ud:&lt;br /&gt;
&lt;br /&gt;
   $ ./mit_script arg1 arg2 arg3&lt;br /&gt;
   Argument 1 : arg1&lt;br /&gt;
   Argument 2 : arg2&lt;br /&gt;
   Argument 3 : arg3&lt;br /&gt;
&lt;br /&gt;
==At afslutte med en Return Code==&lt;br /&gt;
&lt;br /&gt;
Man kan lade sine scripts afslutte med return codes, ligesom alle andre kommandoer i linux gør.&lt;br /&gt;
&lt;br /&gt;
Dette gør man med udtrykket &amp;lt;tt&amp;gt;exit #&amp;lt;/tt&amp;gt; hvor &amp;lt;tt&amp;gt;#&amp;lt;/tt&amp;gt; skal erstattes med den return code man vil afslutte med:&lt;br /&gt;
&lt;br /&gt;
   #!/bin/bash&lt;br /&gt;
   if [ $# -lt 2 ]&lt;br /&gt;
   then &lt;br /&gt;
     echo &amp;quot;Fejl: Du skal skrive mindst to argumenter&amp;quot;&lt;br /&gt;
     exit 1&lt;br /&gt;
   else&lt;br /&gt;
     echo &amp;quot;Mit navn er $1 og jeg kommer fra $2&amp;quot;&lt;br /&gt;
   fi&lt;br /&gt;
   exit 0&lt;br /&gt;
&lt;br /&gt;
Og return code kan ses, som nævnt tidligere i denne artikel: &lt;br /&gt;
&lt;br /&gt;
   $ ./myscript Hacker&lt;br /&gt;
   Fejl: Du skal skrive mindst to argumenter&lt;br /&gt;
   $ echo $?&lt;br /&gt;
   1                                          #Return code var 1&lt;br /&gt;
   $ ./myscript Hacker CS&lt;br /&gt;
   Mit navn er Hacker og jeg kommer fra CS&lt;br /&gt;
   $ echo $?&lt;br /&gt;
   0                                          #Return code var 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Avanceret_UNIX]]&lt;br /&gt;
[[Category:CS]]&lt;/div&gt;</summary>
		<author><name>20096365</name></author>
	</entry>
</feed>