bash shell脚本编程经典实例(第2版)
上QQ阅读APP看书,第一时间看更新

1.14 获取xBSD版的bash

1.14.1 问题

你想要获取 FreeBSD、NetBSD、OpenBSD 系统下的 bash,或者想要确认已安装的 bash 是否为最新版。

1.14.2 解决方案

根据 Chet Ramey 所维护的 bash 页面:

bash-4.3 已经包含在 FreeBSD ports collection、OpenBSD packages collection 以及 NetBSD packages collection 中。

要想知道是否已经安装 bash,可以检查 /etc/shells 文件。要想安装或升级 bash,可以使用 pkg_add 命令。如果你是 BSD 的老用户,可能更喜欢用 ports collection,但这里不打算涉及这方面的内容。

要是不确定特定 BSD 发行版中安装的是哪个版本的 bash,可以到 DistroWatch 网站上搜索该发行版并查询相关的软件包表格。

对于 FreeBSD,使用如下命令:

pkg_add -vr bash

对于 NetBSD,浏览 Application Software for NetBSD,找到符合相应发行版本和架构的最新 bash 软件包,然后使用命令:

pkg_add -vu ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc-2005Q3/NetBSD-2.0/ \
i386/All/bash-3.0pl16nb3.tgz

对于 OpenBSD,可以使用 pkg_add -vr 命令。你可能需要将 FTP 路径调整为适应相应的发行版本和架构。另外,也许存在静态编译版本。例如:

pkg_add -vr ftp://ftp.openbsd.org/pub/OpenBSD/3.8/packages/i386/bash-3.0.16p1.tgz

1.14.3 讨论

FreeBSD 和 OpenBSD 将 bash 安装在 /usr/local/bin/bash 中,而 NetBSD 将 bash 安装在 /usr/pkg/bin/bash 中。

1.14.4 参考

  • 1.11 节
  • 1.12 节
  • 15.4 节