bash script: file | grep
Pavel Kankovsky
peak na argo.troja.mff.cuni.cz
Neděle Květen 6 16:45:34 CEST 2001
On Fri, 4 May 2001, Jan Kurik wrote:
> zkuste zmenit radek :
> if [ $(file $i | grep -q data) ]
> na:
> if $(file $i | grep -q data)
Nebo jeste lepe na
if file $i | grep -q data
protoze parametrem prikazu if je -- kupodivu -- zase prikaz, podle jehoz
navratove hodnoty se rozhoduje. S $(...) to sice take funguje, ale je to
spis nahoda: vysledkem $(... | grep -q ...) je vzdy prazdny text, a
tudiz tam zustane navratova hodnota z grepu. Zkuste si:
if $(echo echo; exit 0); then echo OK; fi
if $(echo echo; exit 1); then echo OK; fi
if (echo echo; exit 0); then echo OK; fi
if (echo echo; exit 1); then echo OK; fi
V prvnich dvou pripadech vyleze z $() text "echo", ktery bude shellem
uspesne interpretovan, a tudiz bude hodnota za exit naprosto a uplne
ignorovana. V druhem pripade se "echo" vypise na vystup a if se bude ridit
hodnotou u exit.
--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