BASH Image

The GNU Bourne-Again SHell

 [image of the Head of a GNU]

Table of Contents


Introduction

Bash is the GNU Project's Bourne Again SHell, a complete implementation of the IEEE POSIX and Open Group shell specification with interactive command line editing, job control on architectures that support it, csh-like features such as history substitution and brace expansion, and a slew of other features. Here is a short list of some of the features available in bash.

For more information on the features of Bash that are new to this type of shell, see the reference manual. There is also a large Unix-style man page. The man page is the definitive description of the shell's features.

Bash is free software, distributed under the terms of the GNU General Public License, version 3.

A number of frequently-asked questions are answered in the FAQ.

Current Status

The current version of bash is bash-4.3. (GPG signature).

A downloadable tar file of the current version with all official patches applied is available from savannah.

See the README file for more information.

The NEWS file tersely lists the new features in bash-4.3.

Availability

The current version of bash is available from ftp.cwru.edu. This distribution file includes formatted copies of the documentation.

These files are signed with my GPG key.

There are a number of files available for FTP from ftp.cwru.edu.

Bash is always available from the master GNU ftp site and its many mirrors.

Any patches for the current version are available here.

A downloadable tar file of the current version with all official patches applied is available from savannah.

Previous Bash versions are available at ftp://ftp.gnu.org/gnu/bash.

Bash is the standard shell on GNU/Linux systems, most of which are using bash-4.2. Bash-4.2 is included as part of the FreeBSD ports collection, the OpenBSD packages collection, and the NetBSD packages collection.

The OpenPKG project makes source RPMs of bash-4.3 available for a variety of Unix and Linux systems as a core part of the current release.

Current versions of Mac OS X (dating from Jaguar/Mac OS X 10.2) ship with bash as /bin/sh. There are also precompiled OS X packages of bash-4.2 for both Intel and PPC available from many web sites. One such package is at HMUG. Bash for Darwin (the base for MacOS X) is available from Fink (including old versions) or MacPorts.

Solaris 2.x and Solaris 7/8/9/10/11 users can get a precompiled version of bash-4.2 from the Sunfreeware site or from OpenCSW. Sun ships bash-2.03 with Solaris 8 distributions, ships bash-2.05 as a supported part of Solaris 9, and ships bash-3.0 as a supported part of Solaris 10 (directly on the Solaris 10 CD). The version of Solaris 11 distributed as OpenSolaris includes bash-4.1 as of 20 October 2011.

AIX users can get precompiled versions of bash-4.2 and older releases for various versions of AIX from Groupe Bull, and sources and binaries of current releases for various AIX releases from perzl.org. IBM makes bash-3.2 and bash-4.2 available for AIX 5L, AIX 6.1, and AIX 7.1 as part of the AIX toolbox for [GNU/]Linux applications. They use RPM format; you can get RPM for AIX from there, too.

SGI users can get an installable version of bash-2.05b from the SGI Freeware page. HP-UX users can get bash-4.2 binaries and source code from the Software Porting and Archive Center for HP-UX. (The current version as of this date is bash-4.2.45).

It's even available on Minix. If you are running Windows, I recommend that you use Cygwin, who currently ship bash-4.1.10 and bash-4.1.11, or MinGW, which currently has bash-3.1.17 as part of its MSYS base system.

Other Resources

A list of Frequently-Asked-Questions with answers.

The discussion list bug-bash@gnu.org often contains information about new ports of Bash, or discussions of new features or behavior changes that people would like. The mailing list is where bugs in bash are reported and fixes are posted. This mailing list is also available as a Usenet newsgroup, gnu.bash.bug.

Archives of bug-bash dating from December, 1999 are available from lists.gnu.org. Google Groups has an archive of gnu.bash.bug.

General questions about bash and shell programming should be sent to the help-bash@gnu.org mailing list. Its archives are also available from lists.gnu.org.

Some files from the current distribution may also be helpful.

Here are a couple of the papers I've written on bash.

Reporting Bugs

Bug reports for bash should be sent to bug-bash@gnu.org using the bashbug program that is built and installed at the same time as bash.

The discussion list bug-bash@gnu.org often contains information about new ports of Bash, or discussions of new features or behavior changes that people would like. This mailing list is also available as a usenet newsgroup, gnu.bash.bug. You may subscribe to the mailing list at lists.gnu.org.

When you send a bug report, please use the bashbug program that is built at the same time as bash. If bash fails to build, try building bashbug directly with make bashbug. If you cannot build bashbug, please send mail to bug-bash@gnu.org with the following information:

The bashbug program includes much of this automatically.

If you would like to contact the Bash maintainers directly, send mail to bash-maintainers@gnu.org.

Maintainer

I am the current Bash maintainer, and may be reached as bash-maintainers@gnu.org. Please send additions and corrections to this page to chet.ramey@case.edu.

Translations

There are several user-contributed translations of (older versions of) this page. I welcome others.


Chet Ramey <chet.ramey@case.edu>
Last updated: Wed Sep 24 10:50:28 EDT 2014