6.34.2. Bash 的内容
安装的程序: bash, bashbug, 以及 sh (到 bash 的链接)
安装的目录: /usr/share/doc/bash-4.4.18
Bash 软件包包含 Bourne-Again SHell。
准备安装 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 ,并且仍然禁用散列功能, 这样新程序一旦可用就会被找到。