6.37. Bash-3.0

Bash 软件包包含 Bourne-Again SHell (Bash) 命令行解释器。

预计编译时间: 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 有时只在一行显示 33 个字符,然后换行到下一行的问题

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

当针对较新版本的 Glibc 编译 Bash 时,Bash 也存在问题。以下补丁解决了这个问题

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

准备 Bash 以进行编译

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

configure 选项的含义

--with-installed-readline

此选项告诉 Bash 使用readline系统上已安装的库,而不是使用其自己的 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

一个 shell 脚本,用于帮助用户编写和邮寄关于 bash 的标准格式化错误报告

sh

bash 程序的符号链接;当作为 sh 调用时,bash 尝试尽可能地模仿历史版本 sh 的启动行为,同时符合 POSIX 标准