otaznik jako parametr shell skriptu
Honza Pazdziora
adelton na informatics.muni.cz
Středa Únor 12 09:12:45 CET 1997
> Ve skriptu shellu chci rozpoznavat zda je jako parametr zadan otaznik.
> Asi nejak takhle. (Vim ze otaznik ma specialni vyznam a musi byt
> quotovan.)
>
> if [ "$1" = "?" ]
> then
> echo "otaznik"
> fi
>
> Ale shell mi vzdycky ten otaznik "rozexpanduje".
> Kdyz si dam neco jako
> echo $1
>
> shell mi vrati prvni nazev souboru v aktualnim adresari ktery tomu
> vyhovuje. Zde soubor s jednopismenovym nazvem.
>
> Nevite nekdo jak poznam, ze ten parametr je otaznik ?
Problem neni v tom Vasem skriptu, jak se nekteri snazi Vas presvedcit,
ale v jeho volani. Pokud se ten skript jmenuje treba jezek a Vy to
zavolate jako
$ jezek ?
nastanou dve moznosti: bud v tom adresari mate fajl delky 1 a pak se
do $1 dosadi jeho jmeno, anebo tam fajl delky 1 nemate, a pak se do $1
dosadi otaznik. A jelikoz Vy byste tam asi chtel otaznik vzdycky,
volejte to jako
$ jezek "?"
$ jezek '?'
nebo
$ jezek \?
Tim donutite shell, ktery zpracovava to volani, aby expanzi toho
otazniku neprovadel.
Cili problem neni v tom "jak poznam, ze ten parametr je otaznik", ale
spise v tom, jak tam ten otaznik vubec dostat.
Hope this helps.
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
I can take or leave it if I please
------------------------------------------------------------------------
Další informace o konferenci Linux