2011-11-11 41 views
4

我在我的.bash_profile中获得了这些绝对美味的bash脚本,这使得在命令行上使用git真正愉快。异步加载.bash_profile中的东西 - 它甚至有可能吗?

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

唯一的问题是他们需要大量的磁盘IO(和一些CPU)才能工作。每次我将cd放入git repo目录(在未缓存的磁盘上)时,都会有一个令人讨厌的延迟,有时会持续几秒钟。

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

是否有可能使它作为后台任务运行?即异步。通过这种方式,可以在我做其他事情时完成大量的阻塞IO工作。如果我在打开终端后立即需要,我很乐意等待。就像今天我必须做的一样。

哆啦A梦是这样的:

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

回答

1

什么脚本呢?他们是否设置了环境变量,或者他们只是做一些环境独立的磁盘上的东西?

如果是前者,那么你的运气可能就不存在了:我不相信有可能异步运行脚本并影响当前环境。如果是后者,那你有没有试过做~/dev/git-completion.bash &

+0

它最终需要改变我的PROMPT。我会尝试一下,看看它是如何失败的,但我希望有更复杂的东西。 –

相关问题