好吧,这是最后一次尝试,看看我是否可以挽救我无意中做的事情。
我无意中在电脑上将“ command
>> ~/.profile”写成了“ > ~/.profile”而不是“ >> ~/.profile”。command
我没有对其进行版本控制(再也没有发生过),而且由于当时 .profile 没有在编辑器中打开,所以我在任何备份文件或 Vim 缓冲区中都没有现有版本。
此时我唯一能想到的就是我仍然打开了一个终端会话,运行上述错误之前 ~/.profile 文件中的行。我的问题是:有没有办法获取当前执行的源代码?
也许更明确和通用,如果我运行
source ~/.profile
除了查看源文件之外,还有其他方法可以查看该终端会话中执行了什么吗?
但我们已经吸取了教训,对所有的点文件进行版本控制。
提前致谢。
—哈桑
答案1
据我所知没有,但根据里面的内容,你可以在仍然打开的终端中获得很大一部分回报:
这将获得你的提示定义
$ 回显 $PS1
这将为你获取所有 shell 变量和定义的函数。它可能有很多东西,因为例如在 Ubuntu 中,有各种其他用于完成的宏和定义的东西,但你可以提取属于你自己的东西。
$设置
这将为你提供你的别名
$ 别名
这些不会为您提供.profile 中的任何逻辑来帮助决定如何或为何定义上述内容,但它们可能会为您提供大部分所需的内容。
答案2
您可以history
在运行脚本的会话中尝试该命令来获取最近执行的命令列表。