Command explanations
--enable-static-link: This configure 
option causes Bash to be linked statically
--prefix=$LFS/usr: This configure option installs 
all of Bash's files under the $LFS/usr directory, which becomes the /usr 
directory after the user chroot'ed into $LFS or when he rebooted 
the system into LFS.
--bindir=$LFS/bin: This installs the executable 
files in $LFS/bin. We do this because we want bash to be in /bin, not in 
/usr/bin. One reason being: the /usr partition might be on a separate 
partition which has to be mounted at some point. Before that partition is 
mounted a user needs and will want to have bash available (it will be hard to 
execute the boot scripts without a shell for instance).
--with-curses: This causes Bash to be linked 
against the curses library instead of the default termcap library which 
is becoming obsolete.
ln -s bash sh: This command creates the sh
symlink that points to bash. Most scripts run themselves via 'sh'
(invoked by the #!/bin/sh as the first line in the scripts) which
invokes a special bash mode. Bash will then behave (as closely as
possible) as the original Bourne shell.
The &&'s at the end of every line cause 
the next command to be executed only if the previous command exists 
with a return value of 0 indicating success. In case all of these 
commands are copy&pasted 
on the shell, is is important to be ensured that if 
./configure fails, make isn't being executed and, likewise, if make fails, 
that make install isn't being executed, and so forth.