Linux 找出/bin/sh后面的真实shell
我有一台Red Hat Linux机器,我正在尝试找出我正在使用的shell 当我运行Linux 找出/bin/sh后面的真实shell,linux,bash,shell,sh,Linux,Bash,Shell,Sh,我有一台Red Hat Linux机器,我正在尝试找出我正在使用的shell 当我运行echo$0时,我得到sh。 ps-p$$具有相同的输出 然而,正如我从[here][1]中了解到的,sh不是一个真正的shell,而是一个指向真正shell的符号链接,例如bash,dash,ksh,等等 那么,我如何才能找到sh背后的真正外壳呢?实际上,/bin/sh是一个简单的符号链接。使用我标记为duplicate的问题中的命令查看它链接到哪个shell。在我的wsl上,readlink-f/bin/s
echo$0
时,我得到sh
。
ps-p$$
具有相同的输出
然而,正如我从[here][1]中了解到的,sh
不是一个真正的shell,而是一个指向真正shell的符号链接,例如bash
,dash
,ksh
,等等
那么,我如何才能找到
sh
背后的真正外壳呢?实际上,/bin/sh
是一个简单的符号链接。使用我标记为duplicate的问题中的命令查看它链接到哪个shell。在我的wsl上,readlink-f/bin/sh
返回/bin/dash
,/bin/sh
的要点是你不应该在意它是哪个shell。您所编写的代码是由POSIX规范定义的,并且无论哪个shell恰好是/bin/sh
,都将正确地执行它。知道它是哪个shell只会引诱您使用特定于该shell的功能,这首先会破坏使用/bin/sh
的目的。