Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 找出/bin/sh后面的真实shell_Linux_Bash_Shell_Sh - Fatal编程技术网

Linux 找出/bin/sh后面的真实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

我有一台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/sh
返回
/bin/dash
/bin/sh
的要点是你不应该在意它是哪个shell。您所编写的代码是由POSIX规范定义的,并且无论哪个shell恰好是
/bin/sh
,都将正确地执行它。知道它是哪个shell只会引诱您使用特定于该shell的功能,这首先会破坏使用
/bin/sh
的目的。