我目前正在使用 bash shell,但对 man 条目有点困惑。例如,source( man source
) 的 man 条目:
DESCRIPTION
sh
The exec command specified by the arguments is executed in...
csh
exec executes command in place of the current she...
ksh
With the exec built-in, if arg is give...
有多个 shell 的条目,但没有 bash shell。我知道 bash 代表 Bourne Again SHell,那么这是否意味着的描述sh
适用于 bash?
谢谢
答案1
该手册页看起来像是来自 Unix(而非 Linux)系统,例如 Solaris。
在 Solaris 上,/bin/sh 是原始的 Bourne shell,它缺少历史记录、完成或 ksh、POSIX 和 Bash shell 中更高级的参数替换功能。此外,命令替换只能使用反引号进行,而不能使用 $(命令)。
(但是如果你/usr/xpg4/bin
的 PATH 中已经有了,运行“sh”将会为你提供与 POSIX 兼容的 shell。)
作为普罗夫吉姆说,用于man bash
了解 Bash 语法的详细信息。
答案2
在许多发行版中,sh 是指向 bash 的链接,因此运行 sh 确实会得到 bash,但它将以受限的、与 sh 兼容的模式运行。不过,如果不进行检查,您就不能依赖这一点。sh 可能是指向 dash 的链接,也可能是指向其自己的二进制文件的链接。
对于 bash 引用,请执行man bash
。另请查看Bash 参考手册和
高级 Bash 脚本指南。
答案3
如果你正在寻找有关特定 bash 内置命令的帮助,通常
help [builtin_name]
就是你想要的。