← Back to team overview

sslug-teknik team mailing list archive

RE: Erstatte en linie med en anden i script

 

Tak for hjælpsom feedback.

Så lykkedes det:-) Hvis jeg tilskrev variablen med:

modified_algo2=\"$modified_algo\" og dernæst kaldte perl scriptet:

substitute.pl $modified_algo2

Virker det ikke. Hvis jeg i stedet bruger:

substitute.pl "$modified_algo" virker det perfekt.

Best Regards/Med venlig hilsen
Torben Andersen
-----Original Message-----
From: soeren.koch@xxxxxxxx [mailto:soeren.koch@xxxxxxxx]
Sent: 15. august 2008 12:37
To: sslug-teknik@xxxxxxxx
Subject: RE: [TEKNIK] 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
>



Legal Disclaimer:
The information contained in this message may be privileged and confidential. It is intended to be read only by the individual or entity to whom it is addressed or by their designee. If the reader of this message is not the intended recipient, you are on notice that any distribution of this message, in any form, is strictly prohibited. If you have received this message in error, please immediately notify the sender and delete or destroy any copy of this message


Follow ups

References