Radek Krejča wrote: > if [ -z $souburek ]; then > Funguje to. Funguje to navic dobre. Ale nekdy v prubehu scriptu (at demon > bezi ci ne) to vyhodi hlasku: > [: souburek: unexpected operator
Problem nastane, pokud je promenna obsahuje nejaky "divny" znak, ktera zpusobi, ze radek shellu s podminkou je syntakticky vadny. Mohl bysis samozrejem vypisovat hodnotu te promenne, abys zjistil, ktera konkretni hodnota problem pusobi, ale daleko lepsi bude napsat to proste "bezpecne": > if [ -z "$souburek" ]; then Doporucuju promenne psat VZDYCKY do uvozovek, ledaze sis jisty, ze to s ohledem na vsechny mozne hodnoty, ktere mohou byt v konkretni promenne realne ulozene opravdu neni potreba. I kdyz mozna neni od veci zjistit jaka konkretni hodnota problem pusobi - mozna zjistis, ze script ma vic nez jednu vadu, a vykazuje "false positives" kdy nespravne detekuje beh neceho co neni to co chces detekovat. Poznavat beh konkretniho programu/scriptu podle vyskytu jedineho slova ve vypisu 'ps' je totiz spis hack nez dobry napad. Napriklad staci aby na tom stroji bezel sendmail a zrovna prichazel dopis od odesilatele [email protected] ... Dan -- FreeBSD mailing list ([email protected]) http://www.freebsd.cz/listserv/listinfo/users-l
