bash scripting and conditional statements -


i trying run simple bash script struggling on how incoperate condition. pointers. loop says. incoperate conditions such when gdalinfo cannot open image copies particular file location.

for file in `cat path.txt`; gdalinfo $file;done 

works fine in opening images , shows ones cannot opened.
wrong code

for file in `cat path.txt`; gdalinfo $file && echo $file; else cp $file /data/temp 

you can say:

for file in `cat path.txt`; gdalinfo $file || cp $file /data/temp; done 

this copy file /data/temp if gdalinfo cannot open image.

if want print filename in addition copying in case of failure, say:

for file in `cat path.txt`; gdalinfo $file || (echo $file && cp $file /data/temp); done 

Comments