来自Unix 环境中的高级编程一书:
Linux 使用 Bourne-again shell 作为其默认 shell。实际上,/bin/sh 是指向 /bin/bash 的链接。FreeBSD 和 Mac OS X 中的默认用户 shell 是 TENEX C shell,但是他们使用 Bourne shell 作为管理 shell 脚本,因为 C shell 的编程语言是众所周知,很难使用。Solaris 继承了 BSD 和 System V 的传统,提供了图 1.2 所示的所有 shell。Internet 上可用的大多数 shell 区域的免费端口。
作者port
这里的术语是什么意思,它与 shell 有什么关系?
该信息有点过时且不准确。Linux 是一个操作系统内核,它没有外壳。查看shell和kernel如何属于同一个图像参考。
如果 Linux 是指 Linux 发行版,那么它们需要更具体。并非所有 Linux 发行版都bash
将sh
.
MacOS/X 中的默认用户 shell 不再是 (since 10.3, 2003) tcsh
,而是bash
现在。
我认为 FreeBSD 或 MacOS/X 都没有附带 Bourne shell。FreeBSDsh
是基于 Almquist shell 的 POSIX shell。MacOS/X 曾经是zsh
,现在bash
以 UNIX 合规模式构建。
在这种情况下,移植是指最初为一个操作系统设计的软件,该软件已经适应(移植)以能够在另一个系统上构建。BSD 和 MacOS/X (macports) 有一个以它命名的打包系统来捆绑和包含这样的外来软件。
在 shell 的上下文中,它并不真正适用,因为大多数 shell 从一开始就被设计为能够在多个操作系统上编译。但是看看dash
哪个最初是 NetBSDsh
到 GNU/Linux API的端口。
归档时间: |
|
查看次数: |
569 次 |
最近记录: |