从bash获取执行的源代码

好吧,这是最后一次尝试,看看我是否能够挽救我不小心做的事情。

我不小心做了“ command >〜/ .profile”而不是“ command >>〜/ .profile”在我的电脑上。

我没有版本控制(从来没有再次发生),由于.profile当时没有在编辑器中打开,我没有任何备份文件或Vim缓冲区中的现有版本。

我现在唯一可能想到的是,我仍然有一个terminal会话,在我上面的错误之前,运行〜/ .profile文件中的行。 我的问题是:有没有办法获得当前执行的源代码?

如果我运行,也许更明确和通用

 source ~/.profile 

有没有什么方法可以查看在terminal会话中执行的内容,而不是查看源文件?

经验教训,版本所有你的dotfiles。

提前致谢。

-Hassan

不是我所知道的,但取决于那里的内容,你可以在仍然开放的terminal中获得很大的一部分:

这将得到您的即时定义

$ echo $ PS1

这将使您获得所有的shellvariables和已定义的函数。 它可能是很多东西,因为在Ubuntu中,有各种各样的macros来完成和没有定义,但你可以提取你的东西。

$集

这会给你你的别名

$别名

这些不会给你任何在你的.profile中的逻辑,它帮助你决定如何或为什么要定义上面的东西,但是它们可能会给你很多你需要的东西。

您可以在运行脚本的会话中尝试history命令,以获取最近执行的命令列表。