Podminka IF ve skriptu

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Pátek Červenec 14 10:28:21 CEST 2000


On Fri, 14 Jul 2000, Petr Novotny wrote:

> Poznamka: Povsimnete si uvozovek kolem $a a $b. Pokud vam
> neni jasne, proc je tam pisu, predstavte si, ze $a obsahuje
> nasledujici retezec:
> $echo $a
> smula = smula ]; then rm -rf /; fi; if [ massmulu
> $

To kupodivu nebude fungovat (aspon v dobre naprogramovanem shellu
a pokud se do toho nezamicha prikaz eval), protoze po substituci
promennych se provadi uz jen "word splitting" a "pathname expansion"
(viz bash(1), sekce Expansions), cili nejhorsi, co lze provest, je vnutit 
[ nejake dalsi argumenty, nebo tam vecpat neco jako /*/*/*/*/* a trochu
stroj zamestnat. Nicmene to neznamena, ze je to vzdycky neskodne, a
rozhodne je lepsi ty uvozovky psat pokud mozno vsude (pozor ale na
situace, kdy je rozdeleni na jednotliva slova zadouci).

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux