Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.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
Bash 为什么不';export和unset命令是否有路径?_Bash_Shell_Unix - Fatal编程技术网

Bash 为什么不';export和unset命令是否有路径?

Bash 为什么不';export和unset命令是否有路径?,bash,shell,unix,Bash,Shell,Unix,据我所知,几乎每个命令行实用程序都有一条指向其二进制文件的路径 例如,$which返回/usr/bin/which和$which env返回/usr/bin/env 但是导出的$和取消设置的$都不返回任何内容,并生成退出代码1,而不是0。export和unset没有路径有什么不同?export和unset内置在shell中(其他示例包括cd和alias)。它们不是单独的二进制文件,也不作为单独的实体存在 man-builtins将为您提供更多信息。内置在Bash中,因此它们不是外部二进制文件(因

据我所知,几乎每个命令行实用程序都有一条指向其二进制文件的路径

例如,
$which
返回
/usr/bin/which
$which env
返回
/usr/bin/env


但是导出的
$和取消设置的
$都不返回任何内容,并生成退出代码
1
,而不是
0
export
unset
没有路径有什么不同?

export
unset
内置在shell中(其他示例包括
cd
alias
)。它们不是单独的二进制文件,也不作为单独的实体存在


man-builtins
将为您提供更多信息。

内置在Bash中,因此它们不是外部二进制文件(因此没有路径)。由
man-builtins
列出的许多命令确实存在,因为Bash内置了它们,但您的计算机上有一个单独的副本。内置的
alias
cd
export
unset
shopt
等都是特殊的,因为它们不能由外部程序实现。