我知道苹果的 Terminal.app 提供了 bash shell。这和 Linux 上的 bash 有什么区别吗?
答案1
终端是一个终端模拟器。它解释程序发送的各种控制序列(CR、LF、BS 等控制字符以及“清除屏幕”、“将光标向上移动 3 行”等命令的较长控制序列)。终端是同一种程序xterm,接收值,康索尔, 或者GNOME 终端。几乎所有现代终端仿真器都支持“xterm”控制序列,因此它们通常高度兼容(大多数程序使用 ncurses 库及其 terminfo 数据库来抽象实际的控制序列)。
巴什是一个外壳。它解释通常涉及运行其他程序的命令。在正常的交互式使用中,shell 的输入来自用户通过终端仿真器。终端仿真器和 shell 通过“伪 tty”设备(例如/dev/pts/24
、 或)连接/dev/ttyp9
。
因为 tty 设备是之间的唯一接口终端和巴什,他们是完全独立的。您可以使用巴什和iTerm代替终端,你可以使用桀骜代替巴什里面一个终端窗户。
的版本巴什Mac OS X 和 Linux 系统上的安装可能有所不同,但无论安装什么版本都应该相当容易巴什您想要在任一系统上。你可能会看看Mac端口,自制的, 或者芬克有关安装最新版本的方法巴什Mac OS X 上的(和其他 shell)。无论您使用什么 Linux 发行版,肯定都附带了常见 shell 的软件包。
答案2
Mac OS 使用bash
.以下是我可以轻松访问的一些系统的版本:
- SLES 10.2:
GNU bash, version 3.1.17(1)-release (x86_64-suse-linux)
- SLES 11.0:
GNU bash, version 3.2.49(1)-release (x86_64-suse-linux-gnu)
- OSX Leopard (10.5.8):
GNU bash, version 3.2.17(1)-release (i386-apple-darwin9.0)
- OSX 雪豹 (10.6.4):
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)