Submitted-By: XXXX@XXXXX.COM (Chet Ramey)
Last-Modified: Mon Aug 18 13:59:33 EDT 2003
Maintainer: XXXX@XXXXX.COM (Chet Ramey)
This is the Bash FAQ, version 3.26, for Bash version 2.05b.
This document contains a set of frequently-asked questions concerning
Bash, the GNU Bourne-Again Shell. Bash is a freely-available command
interpreter with advanced features for both interactive use and shell
Another good source of basic information about shells is the collection
of FAQ articles periodically posted to comp.unix.shell.
Questions and comments concerning this document should be sent to
This document is available for anonymous FTP with the URL
The Bash home page is http://cnswww.cns.cwru.edu/~chet/bash/bashtop.html
Section A: The Basics
A1) What is it?
A2) What's the latest version?
A3) Where can I get it?
A4) On what machines will bash run?
A5) Will bash run on operating systems other than Unix?
A6) How can I build bash with gcc?
A7) How can I make bash my login shell?
A8) I just changed my login shell to bash, and now I can't FTP into my
machine. Why not?
A9) What's the `POSIX Shell and Utilities standard'?
A10) What is the bash `posix mode'?
Section B: The latest version
B1) What's new in version 2.05b?
B2) Are there any user-visible incompatibilities between bash-2.05b and
Section C: Differences from other Unix shells
C1) How does bash differ from sh, the Bourne shell?
C2) How does bash differ from the Korn shell, version ksh88?
C3) Which new features in ksh-93 are not in bash, and which are?
Section D: Why does bash do some things differently than other Unix shells?
D1) Why does bash run a different version of `command' than
`which command' says it will?
D2) Why doesn't bash treat brace expansions exactly like csh?
D3) Why doesn't bash have csh variable modifiers?
D4) How can I make my csh aliases work when I convert to bash?
D5) How can I pipe standard output and standard error from one command to
another, like csh does with `|&'?
D6) Now that I've converted from ksh to bash, are there equivalents to
ksh features like autoloaded functions and the `whence' command?
Section E: Why does bash do certain things the way it does?
E1) Why is the bash builtin `test' slightly different from /bin/test?
E2) Why does bash sometimes say `Broken pipe'?
E3) When I have terminal escape sequences in my prompt, why does bash
wrap lines at the wrong column?
E4) If I pipe the output of a command into `read variable', why doesn't
the output show up in $variable when the read command finishes?
E5) I have a bunch of shell scripts that use backslash-escaped characters
in arguments to `echo'. Bash doesn't interpret these characters. Why
not, and how can I make it understand them?
E6) Why doesn't a while or for loop get suspended when I type ^Z?
E7) What about empty for loops in Makefiles?
E8) Why does the arithmetic evaluation code complain about `08'?
E9) Why does the pattern matching expression [A-Z]* match files beginning
with every letter except `z'?
E10) Why does `cd //' leave $PWD as `//'?
E11) If I resize my xterm while another program is running, why doesn't bash