我的 .bash_profile
中有这些绝对美味的 bash 脚本,这使得在命令行上使用 git 变得非常愉快。
source ~/dev/git-completion.bash
source ~/dev/git-flow-completion.bash
唯一的问题是它们需要大量的磁盘 IO(和一些 CPU)才能工作。每次我 cd
进入 git repo 目录(在未缓存的磁盘上)时,都会出现恼人的延迟,有时会持续几秒钟。
9/10 次我不需要立即提示中的信息。通常我只想启动一个终端,做一些事情然后关闭它。
是否可以让它作为后台任务运行? IE。异步地。这样就可以在我做其他事情的同时完成繁重的阻塞 IO 工作。如果我在打开终端后立即需要它,我很乐意等待。就像我今天必须做的那样。
梦是这样的:
source --async ~/dev/git-completion.bash
source --async ~/dev/git-flow-completion.bash
最佳答案
脚本有什么作用?他们是设置环境变量还是只是在磁盘上做一些与环境无关的事情?
如果是前者,那么您可能就倒霉了:我不相信异步运行脚本并让它影响当前环境是不可能的。如果是后者,那么您刚刚尝试过 ~/dev/git-completion.bash &
吗?
关于macos - 在 .bash_profile 中异步加载东西 - 这甚至可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8099262/