埠在 unix 中的 shell 上下文中是什麼意思?
來自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
它與 shells 有什麼關係?
這些資訊有點過時和不准確。Linux 是一個作業系統核心,它沒有外殼。查看shell和kernel如何屬於同一個圖像參考。
如果 Linux 是指 Linux 發行版,那麼它們需要更具體。並非所有 Linux 發行版都
bash
將sh
.MacOS/X 中的預設使用者 shell 不再是 (since 10.3, 2003)
tcsh
,而是bash
現在。我認為 FreeBSD 或 MacOS/X 都沒有附帶 Bourne shell。FreeBSD
sh
是基於 Almquist shell 的 POSIX shell。MacOS/X 曾經是zsh
,現在bash
是在 UNIX 兼容模式下建構的。在這種情況下, port指的是最初為一個作業系統設計的軟體,該軟體已經適應(移植)以能夠在另一個系統上建構。BSD 和 MacOS/X (macports) 有一個以它命名的打包系統來捆綁和包含這些外來軟體。
在 shell 的上下文中,它並不真正適用,因為大多數 shell 從一開始就被設計為能夠在多個作業系統上編譯。但是看看
dash
最初是 NetBSDsh
到 GNU/Linux API 的一個埠。