环境变量 _

环境变量 _

我在命令行中发送了一个 printenv 命令,看到其中一个变量如下:

_=/usr/bin/printenv

我现在这样做:

mo@mo-Toshiba ~/Workspace $ printenv _
/usr/bin/printenv

但是当尝试在此变量上调用 echo 时,我得到以下结果:

mo@mo-Toshiba ~/Workspace $ echo $_
_

发生了什么?为什么 echo 不将其视为变量?(例如 $PATH 或 $PWD)

答案1

它是一个变量。shell 变量_每次运行命令时,shell 都会更新它,以包含前一个命令的最后一个参数。

它通常不有用,但它可以让您编写别名或函数来对“与上一个命令相同的文件(或其他对象)”执行某些操作。

该变量还被添加到子进程的环境中。它包含传入 shell 的命令名称(PATH查找之前)。

相关内容