Sign up ×

From the book Advanced Programming in the Unix environment:

Linux uses the Bourne-again shell for its default shell. In fact,/bin/sh is a link to /bin/bash.The default user shell in FreeBSD and Mac OS X is the TENEX C shell, but they use the Bourne shell for their administrative shell scripts because the C shell’s programming language is notoriously difﬁcult to use.Solaris, having its heritage in both BSD and System V, provides all the shells shown in Figure1.2. Free ports of most of the shells area available on the Internet.

What does the author mean by the term port here and how is it related to shells ?

share|improve this question
I'm quite sure, that the author means that most of the common shells are now also available on those operating systems that differs from the OS, for that the specific shell was originally developed for. The term 'port/porting' is commonly used to describe the transfer of one software to different platforms. –  user1146332 Dec 27 '12 at 12:47

1 Answer 1

up vote 6 down vote accepted

A lot of mistakes and inaccuracies in there. Linux is an operating system kernel, it doesn't have a shell. See how shell and kernel belong to the same image reference.

If by Linux, they mean a Linux distribution, then, they'd need to be more specific. Not all Linux distributions have bash as their sh.

The default user shell in MacOS/X is no longer tcsh, but bash now.

I don't think either FreeBSD or MacOS/X ever shipped with the Bourne shell. FreeBSD's sh is a POSIX shell based on the Almquist shell. MacOS/X's one used to be zsh and is now bash.

port in this context would refer to a software initially designed for one Operating System that has been adapted (ported) to be able to build on another system. BSDs and MacOS/X (macports) have a packaging system named after that to bundle and include such alien software.

In the context of shells, it doesn't really apply as most shells have been designed from the start as being able to compile on several operating systems.

share|improve this answer
Sorry for my poor english. I was refering to the "nut" image with a kernel and a shell. Please feel free to edit and correct my English. –  Stéphane Chazelas Dec 27 '12 at 17:27
I think your answer will become complete if you can provide that image link in the answer . –  Geek Dec 28 '12 at 11:39

Your Answer


