在.bash_profile中异步加载东西 - 它甚至可能吗?

时间:2011-11-11 20:00:03

标签: macos git bash terminal git-commands

我在.bash_profile中有这些绝对美味的bash脚本,这使得在命令行上使用git非常愉快。

source ~/dev/git-completion.bash
source ~/dev/git-flow-completion.bash

唯一的问题是它们需要大量的磁盘IO(以及一些CPU)才能工作。每当我cd进入一个git repo目录(在未缓存的磁盘上)时,就会出现令人讨厌的延迟,有时会持续几秒钟。

9/10次我立即不需要提示中的信息。我常常想要启动一个终端,做一些事情并关闭它。

是否可以将其作为后台任务运行?即异步。这样,在我做其他事情时,可以完成严重的阻塞IO工作。如果我在打开终端后立即需要它,我很高兴等待。就像我今天要做的一样。

梦想会是这样的:

source --async ~/dev/git-completion.bash
source --async ~/dev/git-flow-completion.bash

1 个答案:

答案 0 :(得分:1)

脚本有什么作用?他们是设置环境变量还是只做一些与环境无关的磁盘内容?

如果是前者,那么你的运气可能已经完成:我不相信可以异步运行脚本并使其影响当前环境。如果是后者,那你刚试过~/dev/git-completion.bash &吗?