这个环境变量是什么意思?“_=/usr/bin/kdeinit”

这个环境变量是什么意思?“_=/usr/bin/kdeinit”
cshell> env 
...
_=/usr/bin/kdeinit

我怀疑这个变量会减慢 vim 的启动速度。现在我必须启动“vim -X”,否则启动 vim 需要 6 秒钟。

我无法用谷歌搜索,因为大多数与“env var underscore”相关的答案都解释了“$_”,这不是我想要的。

答案1

轻松回答韓軟體

如果你只关心 C Shell,那很简单。它是最后执行的命令的命令行。请参阅变量替换在里面tcsh文档

轻松回答狂欢

在 Bash 中,文档在本章中特殊参数告诉我们以下内容:

在 shell 启动时,设置为用于调用在环境或参数列表中传递的正在执行的 shell 或 shell 脚本的绝对路径名。随后,在扩展后扩展为上一个命令的最后一个参数。还设置为用于调用每个执行的命令的完整路径名,并放置在导出到该命令的环境中。检查邮件时,此参数保存邮件文件的名称。

因此狂欢,它通常是前一个命令的最后一个参数。通常...

答案复杂,两者兼而有之狂欢韓軟體

就你的情况而言,该软件初始化是从 Bash shell 调用的。在执行之前初始化,命令的完整路径名(在/usr/bin/kdeinit中)被复制狂欢按照下面的说明在下划线环境变量中。软件初始化初始化图形环境,将此环境变量传播到每个子进程。因此,您的 C Shell 终端继承了该环境变量。

当你在那个 C Shell 中时,混淆的地方在于 shell 变量$_和环境变量_在 C Shell 中,当您使用$名称构造,如果 shell 变量不存在,则输出 shell 变量或环境变量。在这种情况下,它们都存在并且不同。环境变量(如命令所示环境)总是会提醒同样的事情 在/usr/bin/kdeinit中值,而 shell 变量将不断变化以显示最后执行的命令。

相关内容