2010/1/18 Glynn Clements <[email protected]>: > > Paolo Craveri wrote: > >> > If you use " >> > GRASS_OVERWRITE=1 \ >> > r.mapcalc "result = map * 4 >> > it will work on both versions. >> >> In grass 6.4: >> GRASS_OVERWRITE=1 >> >> r.mapcalc "result = rand(1,100)" >> >> 100% >> >> r.mapcalc "result = rand(1,200)" >> ##ok, raster result has been overwritten >> 100% >> >> >> In grass7.0: >> GRASS_OVERWRITE=1 >> >> r.mapcalc "result = rand(1,100)" >> >> 100% >> >> r.mapcalc "result = rand(1,200)" >> ### raster 'result' hasn't been overwritten >> >> I have to setting GRASS_OVERWRITE variable and r.mapcalc command in >> the same line as you suggest: >> GRASS_OVERWRITE=1 r.mapcalc "r = rand(12,24)" >> in this case it works in both version. Strange behaviour IMHO. > > This indicates a difference in the state of the shell between the two > cases, not a difference in GRASS. > > Entering "GRASS_OVERWRITE=1" as a command sets the shell variable > GRASS_OVERWRITE. It doesn't necessarily cause it to be "exported" to > the environment used for child processes. > > If the command "export GRASS_OVERWRITE" has been executed in the > current shell, the variable has been exported to the environment, and > any changes to the variable will affect the environment used for child > processes. > > OTOH, the command "GRASS_OVERWRITE=1 r.mapcalc ..." executes r.mapcalc > with GRASS_OVERWRITE=1 in the environment for that specific process. > > See the "bash" manual page for more information. > > -- > Glynn Clements <[email protected]> >
Yes, I forgot "export ..."; my fault. Thanks -- -- Paolo C. _______________________________________________ grass-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-dev
