6.36. Bash-4.3.30

Bash 软件包包含 Bourne-Again Shell。

大概编译时间: 1.9 SBU
需要磁盘空间: 57 MB

6.36.1. 安装 Bash

首先,安装下面的补丁修复上游解决的一些 bug:

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

准备编译 Bash:

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

新配置选项的含义:

--with-installed-readline

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

编译软件包:

make

如果不需要运行测试套件的话跳转到 安装软件包

准备测试,确保 nobody 用户可以写源文件树:

chown -Rv nobody .

现在,以 nobody 用户身份运行测试:

su nobody -s /bin/bash -c "PATH=$PATH make tests"

安装软件包:

make install

运行新编译的 bash 程序(替换正在运行的那个):

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

注意

参数使 bash 进程成为一个可交互的登录 shell 并停用散列使得新程序可用的时候就能发现。

6.36.2. Bash 软件包内容

安装的程序: bash, bashbug, 和 sh (链接到 bash)
安装目录: /usr/share/doc/bash-4.3.30

简要介绍

bash

广泛使用的命令解释器;在执行一个命令之前进行多种扩展和替换,使得该解释器成为一个强大的工具

bashbug

一个 shell 脚本,用于帮助用户撰写和发送标准格式的关于 bash 的 bug 报告邮件

sh

bash 程序的符号链接;当以 sh 调用时,在符合 POSIX 标准的情况下,bash 尽可能地模仿历史版本的启动过程