[linux] prikaz find
tyzenhaus
tyzenhaus na atlas.sk
Pondělí Duben 18 19:51:08 CEST 2005
Plzik Milan wrote:
>Viem:-). Je to celkom pekna chybicka - vlastne problem je tu s expanziou
>'*', ktoru bash robi sam od seba. Iba ak nevie expandovat slovo s *, necha
>ho nezmenene. Takze ak v aktualnom adresari mas viac suborov, ktore
>zacinaju na X (prvy pripad, expadnuje na find /etc/X11 -name Xsubor1
>Xsubor2...), stane sa presne to, co v prvom pripade. Ak v aktualnom
>adresari ale nemas nic zacinajuce na Xv, bash nespravi expanziu a find
>dostane ako argument skutocne Xv*
>
>Pokial potrebujes predat * ako argument find-u bez ohladu na expanziu,
>treba to spravit takto:
>
>find /etc/X11 -name X\*
>
>Spatne lomitko zabranuje expanzii znaku, co je za nim
>
> Milan Plzik
>
toto by vysvetlovalo to na co som sa pytal, ale ako som okolo toho
badal, prisiel som este na jednu zaujimavu vec:
[stevo na petra ~]$ pwd
/home/stevo
[stevo na petra ~]$ find /etc/X11 -name pr*
/etc/X11/starthere/preferences.desktop
/etc/X11/proxymngr
/etc/X11/prefdm
[stevo na petra ~]$ cd /etc/X11
[stevo na petra X11]$ find /etc/X11 -name pr*
find: paths must precede expression
Usage: find [path...] [expression]
Proste ak pred shellom tu expanziu "neochranim", k chybovej hlaske od
findu dojde len vtedy, ked prehladava aktualny adreasar a vzoru
zodpoveda viac suborov, ak prehladava iny adresar ako aktualny, tak
vystup findu je rovnaky ako keby som tu hviezdicku pred shellom skryl.
Bash nema dovod aby sa v oboch pripadoch nespraval rovnako, mohlo by to
znamenat, ze bash tu expanziu nerobi ani ked ta hviesdicka nie je pred
nim nijako chranena? Lebo ked zadam
find -name subor1 subor2
dostanem chybu v kazdom pripade.
Další informace o konferenci linux