sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #96004
RE: Erstatte en linie med en anden i script
Jeg mener at man skal bruge dobbeltquotes omkring strenge i bash og ikke enkeltquotes:
Jeg tror at bruger man dobeltquotes, så kan man bruge variable, men bruger man enkeltqotes får man det man skriver (jævnfør nedenstående)
[sofc@localhost ~]$ echo "test"
test
[sofc@localhost ~]$ echo "\"test\""
"test"
[sofc@localhost ~]$ echo "\'test\'"
\'test\'
[sofc@localhost ~]$ echo "'test'"
'test'
[sofc@localhost ~]$ echo 'test'
test
[sofc@localhost ~]$ echo '\"test\"'
\"test\"
[sofc@localhost ~]$ echo '"test"'
"test"
[sofc@localhost ~]$ f="xyz"
[sofc@localhost ~]$ echo $f
xyz
[sofc@localhost ~]$ echo \"$f\"
"xyz"
[sofc@localhost ~]$ echo '$f'
$f
[sofc@localhost ~]$ echo \'$f\'
'xyz'
[sofc@localhost ~]$ echo "$f"
xyz
Håber at du kan fådet til at virke.. :-)
Søren
> -----Original Message-----
> From: Torben Andersen [mailto:Torben.Andersen@xxxxxxxxxxxxxxxxxx]
> Sent: Friday, August 15, 2008 11:55 AM
> To: sslug-teknik@xxxxxxxx
> Subject: RE: [TEKNIK] Erstatte en linie med en anden i script
>
> Hej igen og tak for feedback,
>
> Har forsøgt med at kalde perlscript direkte med '' omkring
> hele variablem med anførselstegn indeni og mellemrum og det
> virker. Kan bare ikke finde ud af at få bash scriptet til på
> passende måde at sætte '' omkring:
> --------------------------------------
> modified_algo2=\'$modified_algo\'
> echo $modified_algo2
>
> cat $5 |./substitute.pl $1 $2 $modified_algo2 >output.txt
> --------------------------------------
>
> $modified_algo2 har den rigtige værdi ('.L1TH 5 "apb"
> "C0805_BDY" 0 2 0 0 -15 20 0 0 0 0 0 0 0 0 0 0'). Hvis jeg
> kalder Perl scriptet direkte fra shellen, sætter den den
> korrekte værdi ind. Hvis jeg kalder perlscriptet fra Bash
> scriptet, kommer der til at stå:
>
> '.L1TH og intet andet.
>
> Nogen råd??
>
> Best Regards/Med venlig hilsen
> Torben Andersen
>
> -----Original Message-----
> From: soeren.koch@xxxxxxxx [mailto:soeren.koch@xxxxxxxx]
> Sent: 15. august 2008 11:27
> To: sslug-teknik@xxxxxxxx
> Subject: RE: [TEKNIK] Erstatte en linie med en anden i script
>
> Hmm det må være noget med at escape ordentligt (mit gæt er at
> der i bahs filen skal stå noget i stil med \\\" Altså 3
> escapes efterfulgt af "
> Du må prøve dig frem.
> Jeg havde selv samme problem engang (om end det var et
> perlscript der skulle generere end html side indeholdende et
> javascript der skulle lave en popup html med et javascript
> til at lukke den når den mistede fokus, tror nok jeg endte
> med 8 escapes hver gang jeg skulle lave en " eller ' for at
> de 'overlevede' korrekt....)
>
> Søren
>
Follow ups
References