Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jan 2017 20:01:43 +0100
From:      Polytropon <freebsd@edvax.de>
To:        byrnejb@harte-lyne.ca
Cc:        freebsd-questions@freebsd.org
Subject:   Re: Variable assignment in sh
Message-ID:  <20170131200143.00c5e5da.freebsd@edvax.de>
In-Reply-To: <5f51e2c3bdb8a20c6a7786c2b345c957.squirrel@webmail.harte-lyne.ca>
References:  <b831bd9e40321e59910ea8913c7a6302.squirrel@webmail.harte-lyne.ca> <20170131161824.a9f1ef46.freebsd@edvax.de> <b553c644fccc211f9658b31cfe65e8a0.squirrel@webmail.harte-lyne.ca> <20170131185103.7f911dfb.freebsd@edvax.de> <5f51e2c3bdb8a20c6a7786c2b345c957.squirrel@webmail.harte-lyne.ca>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 31 Jan 2017 12:56:40 -0500, James B. Byrne wrote:
> 
> On Tue, January 31, 2017 12:51, Polytropon wrote:
> > On Tue, 31 Jan 2017 12:11:49 -0500, James B. Byrne via
> > freebsd-questions wrote:
> >>
> >> In any case, I now have set the shell in the root crontab file
> >> explicitly to /usr/local/bin/bash in hopes of avoiding this problem
> >> in the future.
> >
> > That _might_ introduce problems in the future when bash is not
> > available. My suggestion: Use /bin/sh for scripting except you
> > need to rely on a "bash-ism", a feature that bash can provide,
> > but sh cannot. However, you can use bash interactively to test
> > sh commands, there is "backward compatibility" (bash can be seen
> > as a superset of sh).
> >
> 
> How would bash become unavailable on this particular system without
> someone specifically removing it?

A rare occassion, but possible. Let's say in a worst-case scenario,
/usr isn't mounted, and you need to stick with what's on /, then
bash, which per default is /usr/local/bin/bash, isn't available.
However, bash can be linked statically _and_ copied to a location
on /, then you won't have that kind of problem.

Portability also could be a problem when you try to run something
that expects bash on a system where bash isn't installed. Always
keep in mind that bash is _not_ part of FreeBSD, while sh is.

I know, those are very special cases, and if your goal is not
portability and "guaranteed availability", then it won't hit you.
I just thought it's worth being mentioned.



-- 
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?20170131200143.00c5e5da.freebsd>