我一直在.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
。
所以解决我问题的最后一步是:
/bin/bash
~/.profile
阅读{{1}} 有关于此的任何想法吗?
答案 0 :(得分:0)
tty
GUI会话可能不是登录shell,只有交互式登录shell读取〜/ .bash_profile或〜/ .profile。仅当〜/ .bash_profile不存在时,Bash才会读取〜/ .profile(默认情况下)。
导出功能可能是开销。你真的每次都需要所有这些功能吗?为什么不把它们放到其他文件中,并在需要时source
呢?