0

我一直在定义一些函数.bashrc,现在启动时间不是很好。

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

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

export -f my_function

将适用于.bash_profile,但不适用于.profile,因为.profile是由 /bin/sh而不是阅读/bin/bash

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

  1. 将函数导出移动到~/.profile-that-is-read-by-bash
  2. /bin/bash阅读_~/.profile

对此有什么想法吗?

4

1 回答 1

0

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

导出函数可能是开销。您真的每次都需要所有这些功能吗?为什么不在需要时将它们放入其他文件中source

于 2012-12-11T10:35:18.937 回答