6.27. Bash-3.1

Bash 是 Bourne-Again Shell 的缩写,它在 UNIX 系统中作为 shell 被广泛使用。
预计编译时间:0.4 SBU
所需磁盘空间:25.8 MB

6.27.1. 安装 Bash

  • 如果你下载了Bash的文档包,可以通过下面的命令安装:
    tar -xvf ../bash-doc-3.1.tar.gz &&
    sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/bash-3.1|" \
        Makefile.in
    
  • 上游开发者解决了从Bash-3.1后的一些问题:
    patch -Np1 -i ../bash-3.1-fixes-8.patch
    
  • 为编译 Bash 做准备:
    ./configure --prefix=/usr --bindir=/bin \
        -- without-bash-malloc --with-installed-readline
    
  • 配置选项的含义:--with-installed-readline
  • 这个选项是告诉 Bash 使用已经安装的系统的 readline 库,而不是它自己的 readline 版本。
  • 编译软件包:make
  • 要测试结果,请运行:make tests
  • 安装软件包:make install
  • 运行新编译的 bash 程序来替换正在执行的这一个:exec /bin/bash --login +h

注意:上面命令里使用的参数指示 bash 产生一个交互式的登陆 shell 并且继续禁用哈希功能,以便新的程序一旦被安装就立即投入使用。

6.27.2. Bash 的内容

  • 安装的程序:
    • bash, bashbug, sh(→bash)
  • 简要描述:
    • bash:作为命令行解释器被广泛使用。它能在执行命令前解释非常复杂的命令行参数,这使它成为一个强大的工具。
    • bashbug:帮助用户用标准格式编写和提交有关 bash 的bug报告的脚本。
    • sh:指向 bash 的符号连接。当运行 sh 的时候,bash 会尽量模仿老的 sh 历史环境来运行,同时遵循 POSIX 标准。
下一节:Bzip2 包含了对文件进行压缩和解压缩的工具,对于文本文件,bzip2 比传统的 gzip 拥有更高压缩比。
预计编译时间:少于 0.1 SBU
所需磁盘空间:5.3 MB