Difference between revisions of "Mit første bash shellscript"
From Teknologisk videncenter
m |
m (→Lave script) |
||
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | = Første script = | ||
== Hvor skal programmet ligge == | == Hvor skal programmet ligge == | ||
Find ud af hvor ''bash'' søger efter protgrammer | Find ud af hvor ''bash'' søger efter protgrammer | ||
Line 5: | Line 6: | ||
<notice>bruger17</notice> ttypf May 26 09:09 (192.168.22.184) | <notice>bruger17</notice> ttypf May 26 09:09 (192.168.22.184) | ||
[bruger17@bsd ~]$ <input>echo $PATH</input> | [bruger17@bsd ~]$ <input>echo $PATH</input> | ||
− | /sbin:/bin:/usr/sbin:/usr/bin | + | /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:<notice>/home/bruger17/bin</notice> |
</source> | </source> | ||
I ovenstående eksempel kan ses at jeg er logget ind som ''bruger17'' og at PATH søger efter programmer i blandt andet ''/home/bruger17/bin''. Derfor opretter jeg biblioteket ''/home/bruger17/bin'' og ligger mine programmer her. | I ovenstående eksempel kan ses at jeg er logget ind som ''bruger17'' og at PATH søger efter programmer i blandt andet ''/home/bruger17/bin''. Derfor opretter jeg biblioteket ''/home/bruger17/bin'' og ligger mine programmer her. | ||
+ | |||
== Oprettelse af bin bibliotek == | == Oprettelse af bin bibliotek == | ||
Brug ''cd'' for at være sikker på at du er i dit hjemmebibliotek og ''mkdir'' for oprette biblioteket. | Brug ''cd'' for at være sikker på at du er i dit hjemmebibliotek og ''mkdir'' for oprette biblioteket. | ||
Line 20: | Line 22: | ||
[bruger17@bsd bin]$ <input>pico world</input> | [bruger17@bsd bin]$ <input>pico world</input> | ||
</source> | </source> | ||
− | Jeg har ''pico'' editoren | + | Jeg har brugt ''pico'' editoren og skrevet scriptet vist nedenunder. Gem filen med dette indhold. Vær opmærksom på hvor der er afstandstegn og det specielle accenttegn '''`''' |
<source lang="cli"> | <source lang="cli"> | ||
− | #! | + | #!/bin/bash |
ANTAL=5 | ANTAL=5 | ||
while test $ANTAL -gt 0 | while test $ANTAL -gt 0 | ||
Line 30: | Line 32: | ||
done | done | ||
</source> | </source> | ||
+ | |||
== Ændre rettigheder til program == | == Ændre rettigheder til program == | ||
<source lang="cli"> | <source lang="cli"> | ||
− | [bruger17@bsd | + | [bruger17@bsd bin]$ <input>pwd</input> |
+ | /home/bruger17/bin | ||
+ | [bruger17@bsd bin]$ <input>chmod +x world</input> | ||
[bruger17@bsd bin]$ <input>world</input> | [bruger17@bsd bin]$ <input>world</input> | ||
ANTAL indeholder 5 | ANTAL indeholder 5 | ||
Line 40: | Line 45: | ||
ANTAL indeholder 1 | ANTAL indeholder 1 | ||
</source> | </source> | ||
− | + | ||
− | + | = Leg med logintid = | |
− | + | Eksempel med ''nestede'' if'er, altså inden i hinanden. | |
− | + | <source lang="cli"> | |
+ | #!/usr/bin/bash | ||
+ | HOUR=`date +%H` | ||
+ | MINUTE=`date +%M` | ||
+ | |||
+ | if test $HOUR -lt 7 | ||
+ | then | ||
+ | echo "Gå i seng" | ||
+ | else | ||
+ | if test $HOUR -lt 8 | ||
+ | then | ||
+ | echo "Stræber, har du husket et rødt æble" | ||
+ | fi | ||
+ | fi | ||
+ | echo "Have a nice day :-)" | ||
+ | </source> | ||
+ | If'er efter hinanden. Måske lidt mere overskueligt. | ||
+ | <source lang="cli"> | ||
+ | #!/usr/bin/bash | ||
+ | HOUR=`date +%H` | ||
+ | if test $HOUR -lt 7 | ||
+ | then | ||
+ | echo "Gå i seng" | ||
+ | exit | ||
+ | fi | ||
+ | |||
+ | if test $HOUR -lt 8 | ||
+ | then | ||
+ | echo "Stræber" | ||
+ | exit | ||
+ | fi | ||
+ | |||
+ | if test $HOUR -lt 10 | ||
+ | then | ||
+ | echo "God morgen" | ||
+ | exit | ||
+ | fi | ||
+ | |||
+ | if test $HOUR -lt 12 | ||
+ | then | ||
+ | echo "lidt sent på den, hwa" | ||
+ | exit | ||
+ | fi | ||
+ | </source> | ||
+ | {{Source cli}} | ||
+ | [[Category:UNIX]][[Category:FreeBSD]][[Category:Linux]] |
Latest revision as of 10:09, 24 January 2012
Contents
Første script
Hvor skal programmet ligge
Find ud af hvor bash søger efter protgrammer
[bruger17@bsd ~]$ <input>who am i</input>
<notice>bruger17</notice> ttypf May 26 09:09 (192.168.22.184)
[bruger17@bsd ~]$ <input>echo $PATH</input>
/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:<notice>/home/bruger17/bin</notice>
I ovenstående eksempel kan ses at jeg er logget ind som bruger17 og at PATH søger efter programmer i blandt andet /home/bruger17/bin. Derfor opretter jeg biblioteket /home/bruger17/bin og ligger mine programmer her.
Oprettelse af bin bibliotek
Brug cd for at være sikker på at du er i dit hjemmebibliotek og mkdir for oprette biblioteket.
[bruger17@bsd ~]$ <input>cd</input>
[bruger17@bsd ~]$ <input>mkdir bin</input>
Lave script
Gå ind i dit bin bibliotek og start din yngligseditor (vi,nano,pico,mcedit,emacs)
[bruger17@bsd ~]$ <input>cd bin</input>
[bruger17@bsd bin]$ <input>pico world</input>
Jeg har brugt pico editoren og skrevet scriptet vist nedenunder. Gem filen med dette indhold. Vær opmærksom på hvor der er afstandstegn og det specielle accenttegn `
#!/bin/bash
ANTAL=5
while test $ANTAL -gt 0
do
echo "ANTAL indeholder $ANTAL"
ANTAL=`expr $ANTAL - 1`
done
Ændre rettigheder til program
[bruger17@bsd bin]$ <input>pwd</input>
/home/bruger17/bin
[bruger17@bsd bin]$ <input>chmod +x world</input>
[bruger17@bsd bin]$ <input>world</input>
ANTAL indeholder 5
ANTAL indeholder 4
ANTAL indeholder 3
ANTAL indeholder 2
ANTAL indeholder 1
Leg med logintid
Eksempel med nestede if'er, altså inden i hinanden.
#!/usr/bin/bash
HOUR=`date +%H`
MINUTE=`date +%M`
if test $HOUR -lt 7
then
echo "Gå i seng"
else
if test $HOUR -lt 8
then
echo "Stræber, har du husket et rødt æble"
fi
fi
echo "Have a nice day :-)"
If'er efter hinanden. Måske lidt mere overskueligt.
#!/usr/bin/bash
HOUR=`date +%H`
if test $HOUR -lt 7
then
echo "Gå i seng"
exit
fi
if test $HOUR -lt 8
then
echo "Stræber"
exit
fi
if test $HOUR -lt 10
then
echo "God morgen"
exit
fi
if test $HOUR -lt 12
then
echo "lidt sent på den, hwa"
exit
fi