Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jan 2017 20:04:59 +0100
From:      Polytropon <freebsd@edvax.de>
To:        galtsev@kicp.uchicago.edu
Cc:        byrnejb@harte-lyne.ca, "James B. Byrne via freebsd-questions" <freebsd-questions@freebsd.org>
Subject:   Re: Variable assignment in sh
Message-ID:  <20170131200459.aaeaa5e6.freebsd@edvax.de>
In-Reply-To: <33925.128.135.52.6.1485886909.squirrel@cosmo.uchicago.edu>
References:  <b831bd9e40321e59910ea8913c7a6302.squirrel@webmail.harte-lyne.ca> <20170131161824.a9f1ef46.freebsd@edvax.de> <b553c644fccc211f9658b31cfe65e8a0.squirrel@webmail.harte-lyne.ca> <20170131185103.7f911dfb.freebsd@edvax.de> <33925.128.135.52.6.1485886909.squirrel@cosmo.uchicago.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 31 Jan 2017 12:21:49 -0600 (CST), Valeri Galtsev wrote:
> 
> On Tue, January 31, 2017 11:51 am, Polytropon wrote:
> > On Tue, 31 Jan 2017 12:11:49 -0500, James B. Byrne via freebsd-questions
> > wrote:
> >>
> >> On Tue, January 31, 2017 10:18, Polytropon wrote:
> >> > On Tue, 31 Jan 2017 10:06:37 -0500, James B. Byrne via
> >> > freebsd-questions wrote:
> >> >> Why am I getting this result when I attempt a simple variable
> >> >> assignment in the default sh?
> >> >>
> >> >> # ENV=$HOME/.shrc; export ENV
> >> >> ENV=/root/.shrc: Command not found.
> >> >> export: Command not found.
> >> >>
> >> >> This example is taken verbatim from the sh manpage provided with
> >> >> FreeBSD.
> >> >
> >> > This looks like you're running a sh command inside csh.
> >> > Note that the C shell (FreeBSD's default interactive shell)
> >> > does variable assignments differently:
> >> >
> >> > 	setenv ENV /root/.shrc
> >> >
> >> > 	set FOO = 1
> >> >
> >> > See "man csh" for details.
> >> >
> >> > The command you've presented looks like it would belong into
> >> > a shell script (FreeBSD's default scripting shell)...
> >> >
> >>
> >> I note that root is configured in FreeBSD with a default shell of
> >> /bin/csh and that the user toor has no default shell specified at all
> >> notwithstanding having a Real Name of 'Bourne-again Superuser'.  I
> >> checked several of our FreeBSD hosts and all have the same
> >> configuration for root and toor so I infer that this is how FreeBSD is
> >> shipped.
> >
> > That is correct. The user toor has no shell assigned per
> > default ("inactive user"), and root, as well as all other
> > users, default to the C shell as the login shell (which
> > typically is an interactive shell).
> 
> Regular users do not default to csh, but to sh if you don't specify
> particular shell on "pw adduser" command.

Yes, that is right, but I didn't notice because I usually use
"preconfigured wrappers" to user account creation. The inter-
active "adduser" program can also have defaults for csh in its
configuration file, like "pw useradd -s <shell>" can do.





-- 
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170131200459.aaeaa5e6.freebsd>