8.34.2. Bash 的内容
安装的程序: bash, bashbug, 以及 sh (到 bash 的链接)
安装的目录: /usr/include/bash, /usr/lib/bash, 和
/usr/share/doc/bash-5.1.16
Bash 软件包包含 Bourne-Again SHell。
准备编译 Bash:
./configure --prefix=/usr \ --docdir=/usr/share/doc/bash-5.1.16 \ --without-bash-malloc \ --with-installed-readline
配置选项的含义:
--with-installed-readline
该选项告诉 Bash 使用系统中已经安装的 readline
库,而不是它自己的 readline 版本。
编译该软件包:
make
如果不运行测试套件,跳到 “安装该软件包”。
为了准备进行测试,确保 tester
用户可以写入源代码目录:
chown -Rv tester .
该软件包的测试套件被设计为以非 root
用户身份运行,且该用户必须是标准输入所连接的终端的所有者。为了满足这一条件,使用 Expect 生成一个新的伪终端,并以 tester
用户身份运行测试:
su -s /usr/bin/expect tester << EOF set timeout -1 spawn make tests expect eof lassign [wait] _ _ _ value exit $value EOF
安装该软件包:
make install
执行新编译的 bash 程序 (替换当前正在执行的版本):
exec /usr/bin/bash --login