我已经在.bashrc中定义了一些函数,现在启动时间不是很好。
我尝试了一个快速的解决方案--将函数定义移动到.bash_profile,并导出它们,因此它们只在我登录时读取一次。这是有道理的,因为这些功能永远不会改变。
这适用于tty登录,但不适用于图形环境。我的系统是Ubuntu12.10。对于图形化会话,我已经在googled上搜索过,与.bash_profile等价的是.profile。问题是,这并不等同于:
export -f my_function将适用于.bash_profile,但不适用于.profile,因为.profile是由/bin/sh而不是/bin/bash读取的。
因此,解决我的问题的最后一步是:
~/.profile-that-is-read-by-bash/bin/bash读~/.profile对此有什么想法吗?
发布于 2012-12-11 10:35:18
tty GUI会话可能不是登录shell,只有交互式登录shell读取~/..bash_profile或~/.profile。Bash只在不存在~/.bash_profile的情况下读取~/.profile (默认情况下)。
导出函数可能是开销。你真的每次都需要这些功能吗?为什么不将它们放到其他文件中,并在需要时对它们进行source?
https://stackoverflow.com/questions/13817693
复制相似问题