[GRASS-user] SHELL variable not set

Glynn Clements glynn at gclements.plus.com
Tue Jan 29 06:19:34 EST 2008


Martin Wegmann wrote:

> unfortunately I added 'rm .* ' instead of a 'rm $variable.*' in a GRASS 
> script, hence I had to setup a new user account but when starting grass63 as 
> the new user I get:
> 
> sh-3.1$ grass63
> Cleaning up temporary files.....
> Starting GRASS ...
> GISDBASE='/data1/grassdb_africa';
> LOCATION_NAME='HI';
> MAPSET='nlm';
> ERROR: The SHELL variable is not set
> 
> I never encountered it when installing Linux/GRASS for the first time, I 
> searched a bit and found some GRASS shell scripts with this error message but 
> I couldn't find a hint how to fix that. 
> 
> Is is a GRASS or Linux specific problem? Any idea which SHELL variable I have 
> to set? And how to do so?

SHELL should be set from the last field in the user's /etc/passwd
entry[1] by any program which creates a session, e.g. login for
console logins, xdm/gdm/kdm for X sessions, sshd for ssh logins, etc.

[1] To be precise, the value of the pw_shell field in the "passwd",
structure returned by getpwnam() or getpwuid(). Some systems use e.g. 
NIS or LDAP for storing user accounts instead of /etc/passwd.

The standard way for a user to change their shell is with the "chsh"
command.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-user mailing list