6.29.2. Bash 的内容
安装的程序:
bash, bashbug, and sh (link to
bash)
Bash 软件包包含 Bourne-Again SHell.
为编译 Bash 做准备:
./configure --prefix=/usr --bindir=/bin \ --htmldir=/usr/share/doc/bash-4.1 --without-bash-malloc \ --with-installed-readline
配置选项的含义:
--htmldir
这个选项指定HTML格式的文档将被安装到哪个目录。
--with-installed-readline
这个选项是告诉 Bash 使用已经安装的系统的 readline
库,而不是它自己的 readline 版本。
编译这个软件包:
make
如果不执行测试,请直接跳到 “安装软件包” 。
要准备测试,请确保使用LFS环境的locale设置, 并且nobody
用户可以读取标准输入设备和写入源目录:
sed -i 's/LANG/LC_ALL/' tests/intl.tests sed -i 's@tests@& </dev/tty@' tests/run-test chown -Rv nobody ./
现在,以nobody 用户执行测试:
su-tools nobody -s /bin/bash -c "make tests"
安装这个软件包:
make install
运行新编译的 bash 程序 (代替当前正在运行的):
exec /bin/bash --login +h
上面命令里使用的参数指示 bash 产生一个交互式的登陆 shell 并且继续禁用哈希功能, 以便新的程序一旦被安装就立即投入使用。