Re: Does debian have an official "standard" scripting language ?
On Fri, 9 Oct 1998, Santiago Vila wrote:
> On Thu, 8 Oct 1998, Geoffrey L. Brimhall wrote:
>
> > Just like debian has an official standard shell - bash, does debian have an
> > official scripting language ?
>
> Even if bash is essential, the "standard" shell is sh, not bash.
> [ If you look at our shell scripts, most of them are /bin/sh, not
> /bin/bash ].
<snip>
There was a debian-devel discussion about /bin/bash vs. /bin/sh a month or
two ago. From what I recall, it boiled down to:
/bin/bash is both `required' and `essential'. As such, it will be
present on any debian system.
Debian ships with /bin/sh linked to /bin/bash. As of version 2.01-3.1,
the bash package reinstalls that link whenever it is upgraded, so it is
difficult to maintain a debian system with /bin/sh linked to any shell
other than /bin/bash.
/bin/bash provides bourne shell features plus extensions (known
as bash-isms). Scripts using only bourne shell features should
invoke /bin/sh. Scripts using bash-isms should explicitly invoke
/bin/bash. There is no formal standard describing either the
bourne shell or the bash shell scripting languages.
/bin/bash is intended to be a POSIX conformant shell if invoked
with the --posix option. If invoked as /bin/sh, bash enters POSIX
mode after reading startup files. I recall it being mentioned in the
discussion that bash still has some subtle POSIX nonconformancies.
There is a formal standard describing the POSIX shell but, like the C
language standard, it is not free. If you want a copy you must
purchase one, and you are not allowed to reproduce your purchased copy.
> The ones which are currently guaranteed to be on the system are sh, bash,
> awk and perl (as well as all the other little ones, sed, ed, etc.),
> because they are currently essential.
As of debian 2.0, perl-base is an `essential' package. As such, it
should be present on any debian system. The perl-base package is
described as `a stripped down Perl with only essential libraries'. The
perl package itself is `important' (not `required', so it may not be
present). I don't speak perl, and I'm not clear on what perl features
might be missing if the main perl package is not present.
As of debian 2.0, mawk and sed are `required' packages, so they should be
present on any debian system.
ed and nvi (which supplies ex) are `important'. As of debian 2.0,
they aren't declared to be `essential', so they may not be present.
Reply to: