6.34. Bash-4.4.18

Bash 软件包包含 Bourne-Again SHell。

估计编译时间: 2.1 SBU
需要硬盘空间: 58 MB

6.34.1. 安装 Bash

准备安装 Bash:

./configure --prefix=/usr                       \
            --docdir=/usr/share/doc/bash-4.4.18 \
            --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"

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

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

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

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

注意

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

6.34.2. Bash 的内容

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

简要描述

bash

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

bashbug

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

sh

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