8.34. Bash-5.0

Bash 软件包包含 Bourne-Again SHell。

估计构建时间: 2.4 SBU
需要硬盘空间: 48 MB

8.34.1. 安装 Bash

整合上游进行的一些修复:

patch -Np1 -i ../bash-5.0-upstream_fixes-1.patch

准备编译 Bash:

./configure --prefix=/usr                    \
            --docdir=/usr/share/doc/bash-5.0 \
            --without-bash-malloc            \
            --with-installed-readline

配置选项的含义:

--with-installed-readline

该选项告诉 Bash 使用系统中已经安装的 readline 库,而不是它自己的 readline 版本。

编译该软件包:

make

如果不运行测试套件,跳到 安装该软件包

为了准备进行测试,确保 tester 用户可以写入源代码目录:

chown -Rv tester .

现在以 tester 用户的身份运行测试:

su tester << EOF
PATH=$PATH make tests < $(tty)
EOF

安装该软件包,并把主要的可执行文件移动到 /bin

make install
mv -vf /usr/bin/bash /bin

执行新编译的 bash 程序 (替换当前正在执行的版本):

exec /bin/bash --login +h
[注意]

注意

上面使用的参数使得 bash 进程是一个可交互的登录 shell,并且仍然禁用散列功能,这样新程序一旦可用就会被找到。

8.34.2. Bash 的内容

安装的程序: bash, bashbug, 以及 sh (到 bash 的链接)
安装的目录: /usr/include/bash, /usr/lib/bash, 和 /usr/share/doc/bash-5.0

简要描述

bash

一个广泛使用的命令解释器;它在执行命令前对命令行进行多种展开和替换操作,这些操作使得它成为强大的工具。

bashbug

一个 shell 脚本,用于帮助用户按照电子邮件标准格式编写关于 bash 的 bug 报告

sh

一个指向 bash 程序的符号链接;当以 sh 命令运行时,bash 试图尽可能地模仿 sh 的历史版本,以符合 POSIX 标准