我可以从打开的终端选项卡中恢复我的 .bash_profile 吗?

Fif*_*eep 6 command-line bash terminal bashrc

我实际上使用的是 Macbook Pro,并且对非 Windows 操作系统非常陌生(我知道,很遗憾!),我犯了覆盖我的 bash 配置文件而不是附加到它的错误...

我所拥有的是终端中的几个打开的选项卡,我希望可能有一种方法可以从中恢复我的 .bash_profile (或任何方式)。

apa*_*aul 5

如果您的终端仍处于打开状态,请键入env:它将显示您的所有环境变量。如果是全新安装或者您从未进行过任何更改,那么最重要的变量是PATH(这个始终存在)和LD_LIBRARY_PATH(可能不存在,我不习惯 osx)。

例如:

$ env
...
PATH=/usr/bin:/bin:/home/user/bin:/sbin
...
Run Code Online (Sandbox Code Playgroud)

.bashrc在该文件中获取源也是很常见的事情。

然后你可以编辑你.bash_profile的添加这样一行:

# Source your .bashrc
if [ -f ~/.bashrc ]; then
  source ~/.bashrc
fi

# Export the interesting env variables you
#   displayed from env command previously
export PATH=/usr/bin:/bin:/home/user/bin:/sbin
Run Code Online (Sandbox Code Playgroud)

这不是真正的解决方案,因为它不是真正的“备份”,但请记住,只要您的终端打开,您就可以知道您的环境变量,主要目的.bash_profile是设置这些变量。

此外,您可能有一些别名:在打开的终端中,键入alias以显示所有定义的别名。您可以将输出按原样复制并粘贴到您的.bash_profile. (显然,如果这些别名在您的文件中可用,则您.bashrc不需要在您的文件中定义它们,.bash_profile因为您.bashrc之前获取了这些别名。)


小智 5

这件事刚刚发生在我身上,我恢复如下......

定义的变量和函数:

$ declare > definitions.bash.txt
Run Code Online (Sandbox Code Playgroud)

别名:

$ alias > aliases.bash.txt
Run Code Online (Sandbox Code Playgroud)