如何优化.bashrc?

时间:2012-12-11 09:56:54

标签: bash

我一直在.bashrc定义一些功能,现在启动时间不长。

我尝试过快速解决方案 - 将函数定义移到.bash_profile并导出它们,这样它们只有在我登录时才能读取一次。这是有道理的,因为这些功能永远不会改变。

这适用于tty登录,但不适用于图形环境。我的系统是Ubuntu 12.10。 我用谷歌搜索了图形会话,相当于.bash_profile.profile。 问题在于它不等同于:

export -f my_function

适用于.bash_profile,但不适用于.profile,因为.profile/bin/sh读取 /bin/bash而非~/.profile-that-is-read-by-bash

所以解决我问题的最后一步是:

  1. 将功能导出移至/bin/bash
  2. ~/.profile阅读{{1}}
  3. 有关于此的任何想法吗?

1 个答案:

答案 0 :(得分:0)

tty GUI会话可能不是登录shell,只有交互式登录shell读取〜/ .bash_profile或〜/ .profile。仅当〜/ .bash_profile不存在时,Bash才会读取〜/ .profile(默认情况下)。

导出功能可能是开销。你真的每次都需要所有这些功能吗?为什么不把它们放到其他文件中,并在需要时source呢?