为什么`_`不能导出到bash的环境中?

为什么`_`不能导出到bash的环境中?

在bash中,为什么不能_导出到shell的环境中?

$ export _
$ export | grep _=
$

什么也不输出。或者我错过了什么?

如何导出_到环境中?

也可以看看这里。谢谢。

答案1

$_是一个特殊的参数,比如$1$-。它恰好在 Bash 中作为变量实现,但不应该这样认为。看Bash 手册中的特殊参数部分:

shell 对几个参数有特殊处理。这些参数只能被引用;不允许赋值。

特殊参数不是变量。

您无法导出它,因为 Bash 强制执行以下操作:每次解析命令时,_变量上的导出标志被清除

答案2

因为$_是 Bash shell 的特殊参数,而不是通用变量。

相关问题:什么时候 `_` 是 bash shell 的环境变量?

相关内容