cshell> env
...
_=/usr/bin/kdeinit
我怀疑这个变量会减慢 vim 的启动速度。现在我必须启动“vim -X”,否则启动 vim 需要 6 秒钟。
我无法用谷歌搜索,因为大多数与“env var underscore”相关的答案都解释了“$_”,这不是我想要的。
答案1
轻松回答韓軟體
如果你只关心 C Shell,那很简单。它是最后执行的命令的命令行。请参阅变量替换在里面tcsh文档
轻松回答狂欢
在 shell 启动时,设置为用于调用在环境或参数列表中传递的正在执行的 shell 或 shell 脚本的绝对路径名。随后,在扩展后扩展为上一个命令的最后一个参数。还设置为用于调用每个执行的命令的完整路径名,并放置在导出到该命令的环境中。检查邮件时,此参数保存邮件文件的名称。
因此狂欢,它通常是前一个命令的最后一个参数。通常...
答案复杂,两者兼而有之狂欢和韓軟體
就你的情况而言,该软件初始化是从 Bash shell 调用的。在执行之前初始化,命令的完整路径名(在/usr/bin/kdeinit中)被复制狂欢按照下面的说明在下划线环境变量中。软件初始化初始化图形环境,将此环境变量传播到每个子进程。因此,您的 C Shell 终端继承了该环境变量。
当你在那个 C Shell 中时,混淆的地方在于 shell 变量$_和环境变量_在 C Shell 中,当您使用$名称构造,如果 shell 变量不存在,则输出 shell 变量或环境变量。在这种情况下,它们都存在并且不同。环境变量(如命令所示环境)总是会提醒同样的事情 在/usr/bin/kdeinit中值,而 shell 变量将不断变化以显示最后执行的命令。