6.37. Bash-3.0

Bourne-Again Shell 的缩写,它在 UNIX 系统中作为命令行解释器被广泛使用。

预计编译时间: 1.2 SBU
所需磁盘空间: 20.6 MB
安装依赖于: Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Ncurses, Sed

6.37.1. 安装 Bash

如果你下载了 Bash 文档的 tarball 并且希望安装这些 HTML 文档,请执行下面的命令:

tar -xvf ../bash-doc-3.0.tar.gz &&
sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/bash-3.0|" \
    Makefile.in

下面的补丁修正了 Bash 的不少 bug ,还包括 Bash 有时在命令行上只显示 33 个字符就转到下一行的问题:

patch -Np1 -i ../bash-3.0-fixes-3.patch

Bash 在使用新版本的 Glibc 进行编译时还会出问题,下面的补丁可以修正它:

patch -Np1 -i ../bash-3.0-avoid_WCONTINUED-1.patch

为编译 Bash 做准备:

./configure --prefix=/usr --bindir=/bin \
    --without-bash-malloc --with-installed-readline

配置选项的含义:

--with-installed-readline

这个选项指示 Bash 使用前面刚刚安装的 readline 库,而不是它自己附带的那个库。

编译软件包:

make

要测试结果,请运行:make tests

安装软件包:

make install

运行新安装的 bash 程序(代替当前正在使用的):

exec /bin/bash --login +h
[Note]

注意

上面命令里使用的参数指示 bash 产生一个交互式的登陆 shell 并且继续禁用哈希功能,以便新的程序一旦被安装就立即投入使用。

6.37.2. Bash 的内容

安装的程序: bash, bashbug, sh (链接到 bash)

简要描述

bash

作为命令行解释器被广泛使用。它能在执行命令前解释非常复杂的命令行参数,这使它成为一个强大的工具。

bashbug

帮助用户用标准格式编写和提交有关 bash 的bug报告的脚本。

sh

指向 bash 的符号连接。当运行 sh 的时候,bash 会尽量模仿老的 sh 历史环境来运行,同时遵循 POSIX 标准。