在Linux中,哪个目录是(bash)shell的源代码和可执行文件?
我以为我会做which cd
然后查看输出并找出shell的位置,因为cd是内置的,它的位置是源代码的位置。但下面是输出:
-bash-4.1$ which cd
/usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin)
-bash-4.1$
那么请你告诉我如何在Linux中找到文件系统中shell的正常位置?
由于
答案 0 :(得分:1)
which
命令不知道shell内置函数。根据联机帮助页which(1)
,它“[搜索] PATH以查找与参数名称匹配的可执行文件”。
在我的发行版(Debian)和其他许多人中,which bash
给出了以下输出:
/bin/bash
另一方面,type
命令在调用type cd
时给出以下输出:
cd is a shell builtin
就源代码而言,默认情况下不会在许多发行版中安装它。例如,在Debian上,您可以通过apt-get source bash
检索它,或者更一般地说,您可以在gnu.org获取上游源。