Асинхронная загрузка вещей в .bash_profile - это вообще возможно? - PullRequest
4 голосов
/ 12 ноября 2011

В моем .bash_profile есть эти абсолютно восхитительные скрипты bash, что делает работу с git в командной строке действительно приятной.

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

Единственная проблема заключается в том, что для их работы требуется много дискового ввода-вывода (и некоторого процессора).Каждый раз, когда я cd захожу в каталог git repo (на некэшированном диске), возникает раздражающая задержка, которая иногда может длиться несколько секунд.

9/10 раз Мне не нужна информация в приглашении сразу.Часто я просто хочу запустить терминал, сделать что-нибудь и закрыть его.

Можно ли заставить его работать как фоновая задача?Т.е. асинхронно.Таким образом, тяжелая блокировка ввода-вывода может быть выполнена, пока я занимаюсь чем-то другим.Если мне это нужно сразу после открытия терминала, я с удовольствием подожду.Как я должен сделать сегодня.

Сновидение будет примерно таким:

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

1 Ответ

1 голос
/ 12 ноября 2011

Что делают сценарии?Устанавливают ли они переменные среды или они просто выполняют какие-то действия на диске, независимые от среды?

Если первое, то, вероятно, вам не повезло: я не верю, что можно выполнить скрипт асинхроннои это повлияет на текущую среду.Если последнее, то вы только что пытались сделать ~/dev/git-completion.bash &?

...