[GRASS5] ticket 1175 - longer grassfile names

Glynn Clements glynn.clements at virgin.net
Wed Apr 23 01:13:42 EDT 2003

Helena wrote:

> there is a bug report #1175 about a problem with longer grass filenames.
>  I am not sure whether this has been addressed (I haven't found anything
> related)
> but I have observed some strange behavior of r.mapcalc related to this
> recently:
> Case 1
> The command gives segmentation fault when it is trying to write into
> history file (the resulting map is correct but the history file is
> missing the expression)
> The exactly same expression runs fine in interactive mode
> GRASS> r.mapcalc
> tdif98lidrtk.5m="(tlid98.5site-tlid98srtkdec02.5m)*mask.testrtk"
>  100%
> Segmentation fault

Markus reported a similar problem to me earlier today, which I'm
looking into.

> GRASS:> r.mapcalc
> Enter expressions, "end" when done.
> mapcalc> tdif98lidrtk.5m=(tlid98.5site-tlid98srtkdec02.5m)*mask.testrtk
> mapcalc> end
>  100%

So it works if you enter the expression interactively instead of on
the command line?

> Case 2
> The expression with the same length runs OK or gives syntax error,
> depending
> on the length(?) of the name of the resulting reaster map
> GRASS:~/lresults/lcoast/baldh > r.mapcalc
> tdiflid98=(tlid98srtkdec02.5m-lid98srtkdec02.5m)*mask.testrtk2
>  100%
> GRASS:~/lresults/lcoast/baldh > r.mapcalc
> tdif98lidrtk.5m=(tlid98.5site-tlid98srtkdec02.5m)*mask.testrtk
> bash: syntax error near unexpected token `('

This is a shell issue; parentheses are shell syntax, and should be

bash 1.14.7:
	$ echo foo=(bar)
	bash: syntax error near unexpected token `foo=(b'

bash 2.03.8:
	$ echo foo=(bar)

ash 0.2:
	$ echo foo=(bar)
	Syntax error: "(" unexpected

As a general rule, always enclose the the entire expression in single
quotes (unless you are writing a script and want to use shell
variables; in that case, use double quotes). The same applies to '*'.

> There were some other cases where r.mapcalc had problems and shortening
> the file name fixed them

In case 2, it may have something to do with the dot in the filename.

Glynn Clements <glynn.clements at virgin.net>

More information about the grass-dev mailing list