6.34. Bash-5.0

Bash 软件包包含 Bourne-Again Shell。

大致构建用时: 1.7 SBU
所需磁盘空间: 62 MB

6.34.1. 安装 Bash

准备编译 Bash:

./configure --prefix=/usr                    \
            --docdir=/usr/share/doc/bash-5.0 \
            --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 HOME=/home make tests"

安装软件包并将主要的可执行文件移动至 /bin

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

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

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

Note

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

6.34.2. Bash 软件包内容

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

简要介绍

bash

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

bashbug

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

sh

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