gpt4 book ai didi

shell - $0 和 $SHELL 之间的差异

转载 作者:行者123 更新时间:2023-12-04 18:27:01 27 4
gpt4 key购买 nike

我想知道 $0 和 $SHELL 之间的确切区别。我知道这两个是用来知道shell信息的。
如果有人用例子来解释那就太好了。

如果两者显示如下不同的值,它表示什么?

# echo $0
ksh
# echo $SHELL
/sbin/sh
#

最佳答案

SHELL只是一个环境变量,而 $0是当前运行程序的路径。用户应设置 SHELL到首选shell的值,类似于用户设置PAGER的方式和 EDITOR .任何需要生成 shell 的程序都应该检查 SHELL 的值。来确定调用哪个 shell。 SHELL不是您登录时获得的 shell 的路径。当一个新的 shell 运行超过 PAGER 时它不会改变。如果设置为 less 会改变但用户调用 more , 或者如果 EDITOR设置为 vi并且用户运行 emacs .例如:

$ echo $0 $SHELL
bash /bin/bash
$ exec csh
% echo $0 $SHELL
csh /bin/bash

关于shell - $0 和 $SHELL 之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9804517/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com