.bashrc 被覆盖但仍然有来源——如何恢复?

.bashrc 被覆盖但仍然有来源——如何恢复?

通常,当我找到想要别名的命令时,我会将其回显到我的 .bashrc 中,如下所示:

[up button pressed to last command, then line edited so that it reads]
$echo "command-i-just-did" >> ~/.bashrc

可能有更好的方法来做到这一点。但无论如何,刚才我使用单个 V 形符号覆盖了整个 .rc 文件。然而,由于 .bashrc 仍然是最新的,它仍然接受我的旧别名(当然是现在)。那么有没有办法恢复呢?

答案1

  • alias不带参数输出当前定义的别名的定义。
  • declare -f输出当前定义的函数的定义。
  • export -p输出当前定义的变量的定义。

所有这些命令输出定义都可以重复使用,您可以将它们的输出直接重定向到新的~/.bashrc.

所有列表都将包含许多在其他地方定义的元素,例如/etc/profile/etc/bash_completion。因此,您必须手动清理该列表。

答案2

typeset -f > .bashrc 应该这样做,前提是你拥有的只是别名。

相关内容