小编Isa*_*esh的帖子

`exit` 在哪里定义?

假设我想要一个 bash 命令来做一些额外的事情。作为一个简单的例子,想象一下我只是想让它在运行前回显“123”。

一种简单的方法是为命令添加别名。由于我们仍然需要原始文件,我们可以通过它的确切路径来引用它,我们可以使用which. 例如:

$ which rm
/bin/rm
$ echo "alias rm='echo 123 && /bin/rm'" >> .bashrc
Run Code Online (Sandbox Code Playgroud)

这很容易,因为我能够查找rm使用which.

但是,我正在尝试使用 来执行此操作exit,并且which似乎对此一无所知。

$ which exit
$ echo $?
1
Run Code Online (Sandbox Code Playgroud)

该命令没有输出路径,实际上它返回了一个非零退出代码,which当命令不在$PATH.

我想也许这是一个函数,但显然事实并非如此:

$ typeset -F | grep exit
$ echo $?
1
Run Code Online (Sandbox Code Playgroud)

因此,该exit命令并未在任何地方定义为函数或 中的命令$PATH,但是,当我键入 时exit,它会关闭终端。所以它显然是在某处定义的,但我不知道在哪里。

它在哪里定义,我如何明确调用它?

bash exit which

2
推荐指数
1
解决办法
1685
查看次数

标签 统计

bash ×1

exit ×1

which ×1