rsh(8) on Solnix vs Linux and the BSDs
On Solnix, rsh(8) documents the restricted shell at /usr/lib/rsh, a limited version of sh. It is not the remote shell client that Linux and NetBSD call rsh(1). A Linux or BSD user who expects a network client from the name will get the wrong program.
The manual pages
- Solnix: rsh(8) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: rsh(1) inetutils-2.7
- NetBSD: rsh(1) 11.0
What Solnix runs
The Solnix page documents /usr/lib/rsh, the restricted shell. The default command on PATH is the illumos /usr/bin/rsh, which the page says is the remote shell documented in rsh(1). /usr/ucb/rsh is also shipped, but the bundle does not describe it. The restricted shell page has no remote-shell options, so the Linux and NetBSD pages are not option-for-option counterparts.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux, NetBSD | same name, different program | Solnix rsh(8) is a restricted shell, a limited sh for restricted logins. Linux rsh(1) and NetBSD rsh(1) are remote shell clients that run a command on another host. Source: Solnix rsh(8) NAME, DESCRIPTION, NOTES; Linux rsh(1) NAME; NetBSD rsh(1) NAME, DESCRIPTION |
| Linux, NetBSD | remote client lives elsewhere on Solnix | The Solnix page says the restricted shell /usr/lib/rsh should not be confused with the remote shell /usr/bin/rsh, documented in rsh(1). The remote client is the Solnix rsh(1) page, not this one.Source: Solnix rsh(8) NOTES, SEE ALSO |
| Linux, NetBSD | synopsis and arguments | Solnix /usr/lib/rsh takes sh-style flags [-acefhiknprstuvx] and arguments. Linux and NetBSD rsh take a host, optional user and a command. Solnix -n, -p and -e mean sh options here, not the remote-client meanings.Source: Solnix rsh(8) SYNOPSIS; Linux rsh(1) SYNOPSIS, -e, -n; NetBSD rsh(1) SYNOPSIS, -n, -p |
| Linux, NetBSD | no network behaviour | The Solnix page documents no host argument, no remote user, no port and no IPv4/IPv6 selection. Options such as -4, -6, -l and -d (Linux, NetBSD) and -p port (NetBSD) are remote-client options and do not appear.Source: Solnix rsh(8) SYNOPSIS; Linux rsh(1) -4, -6, -l, -d; NetBSD rsh(1) -4, -6, -l, -d, -p |
| Linux, NetBSD | how it is invoked | Solnix rsh becomes a restricted shell when SHELL has file name rsh, when rsh is the file name part of argument 0 or the last /etc/passwd entry, or when invoked with -r. Linux and NetBSD run a command on a remote host.Source: Solnix rsh(8) DESCRIPTION (ways to invoke); Linux rsh(1) SYNOPSIS; NetBSD rsh(1) DESCRIPTION |
| Linux, NetBSD | restrictions enforced | Solnix rsh disallows cd, setting $PATH, command names containing / and output redirection with > and >>. These are enforced after .profile is read. The Linux and NetBSD pages describe no such restrictions. Source: Solnix rsh(8) DESCRIPTION; Linux rsh(1) DESCRIPTION; NetBSD rsh(1) DESCRIPTION |
| NetBSD | redirection handling | In NetBSD rsh, unquoted shell metacharacters such as >> are interpreted on the local machine. In Solnix restricted rsh, > and >> are disallowed outright. Source: NetBSD rsh(1) DESCRIPTION (rsh otherhost cat remotefile >> localfile); Solnix rsh(8) DESCRIPTION |
| Linux, NetBSD | exit status | Solnix rsh returns non-zero on shell errors such as syntax errors. Otherwise it returns the exit status of the last command. The Linux and NetBSD pages in the bundle have no EXIT STATUS section. Source: Solnix rsh(8) EXIT STATUS; Linux rsh(1); NetBSD rsh(1) |
Standards
- POSIX: rsh is not a POSIX.1-2024 utility.
- Solnix: The Solnix page lists attributes(7) under SEE ALSO, but the bundle text shows no stability table.
Writing portable scripts
- Do not assume that the name rsh means a remote client. On Solnix, the restricted shell is
/usr/lib/rshand the remote client is/usr/bin/rsh, so use full paths if you need a specific one. - If you need a restricted shell on Linux or the BSDs, check that system's own sh or rsh documentation. The Linux and NetBSD pages in the bundle describe only the remote client.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.