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.