sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #38237
Re: bash script
Per Jørgensen wrote:
>
> hey alle
>
> hvordan skal man dele følgene linje hvis man skal bruge den i et bash script ?
>
> a=`grep "Target" ./mrtg.cfg | sed s/\^Target\\[// | sed s/\\].*$// |wc -l`
>
> jeg ved at der skal bruges nogle `` men jeg er ikke helt klar ovre hvornår
> man skal bruge `` iforhold til ´´ eller '' og "" , er der en der kan give
> mig en lille forklaring på hvornår man skal bruge hvad ? så kunne det være
> total lækkert
Der er flere måder at tildele variabler (eg. a som du selv har vist
her).
Normalt er "" til alm. tekst der ikke er dynamisk og '' er til tekst der
indeholder "" og `` kun til det output der kommer fra et program
(stdout) der skal køres først ~= det samme som dynamisk data.
Her er et eksempel (har ikke prøvet det, men det skulle virke!!!)
#!/bin/sh
#Tildel variabler deres værdier
TEKST="En tekste streng"
UserNAME="bin"
#Hent userid fra /etc/password
UserID=`cat /etc/passwd | grep $UserName | cut -d: -f 3'
#Her skulle outputtet være til at regne ud. "Tekst er: En tekst
streng"
echo "Tekst er: $TEKST"
#Her skulle outputtet gerne være noget ligende
#"UserID for hugo er: 1" (på rh62)
echo "UserID for $UserNAME er: $UserID"
Hvis du tager din egen sætning ville jeg skrive ...sed 's,\^Target\\[//'
... for at undgå evt. problemmer med parsningen i sh/bash.
--
Bjarke Bruun - E-mail: bbj@xxxxxxxxx http://linux.hhknet.dk
__
/ / (_)__ __ ____ __
/ /__/ / _ \/ // /\ \/ / . . . t h e c h o i c e o f a
/____/_/_//_/\_,_/ /_/\_\ G N U g e n e r a t i o n . . .
References