Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Jan 2017 20:01:43 +0100
From:      Polytropon <>
Subject:   Re: Variable assignment in sh
Message-ID:  <>
In-Reply-To: <>
References:  <> <> <> <> <>

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.

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

Want to link to this message? Use this URL: <>