← Back to team overview

sslug-teknik team mailing list archive

Re: Underligt bash variabel problem

 

God aften Mogens,

> Jeg skal med lynx hente en URL fra en asp-server. URL'en indeholder
> tegn som '&' '%' og '?', så jeg escaper disse som fx. '\&'.
> Det virker fint fra et bash script med URL'en direkte efter lynx:
>   lynx -dump -dont_wrap_pre
> http://www.bla.com/asp/search=1\&jadjada
>
> Hvis jeg lægger URL'en i en var, virker det ozze:
>   U=http://www.bla.com/asp/search=1\&jadjada_andsoon
>   lynx -dump -dont_wrap_pre "$U"
>
> Gør jeg derimod flg., virker det ikke:
>   U=http://www.bla.com/asp/search=1\&jadajada_andsoon
>   URL=`echo "$U"`

Det er fordi escape-tegnet bliver fjernet fra strengen når echo 
udskriver strengen.
Prøv at se:

# U=http://www.bla.com/asp/search=1\&jadajada_andsoon
# echo $U
http://www.bla.com/asp/search=1&jadajada_andsoon

Frank har givet løsningen: Escape også dit escape-tegn:

\\\&

(Ja, man skal sgu' nogle gange holde tungen lige i munden :o))

Hilsen Johnny :o)


References