Git Bash: запуск приложения через псевдоним без зависания Bash (Windows) - PullRequest
15 голосов
/ 20 августа 2010

Я создал несколько псевдонимов bash в Git Bash для Windows, чтобы запускать исполняемые файлы из оболочки bash.

Проблема, с которой я столкнулся, заключается в том, что bash ожидает код завершения, прежде чем снова начинает отвечать на ввод, так как после закрытия запущенного приложения он снова начинает принимать команды.

Есть ли переключатель или что-то, что я могу включить в псевдоним, чтобы bash не ждал код выхода?

Я ищу что-то подобное ...

alias np=notepad.exe --exit

Ответы [ 3 ]

11 голосов
/ 20 августа 2010

Я подтверждаю то, что Джордж упоминает в комментариях:

Запуск вашего псевдонима с помощью & позволяет вам продолжить, не дожидаясь кода возврата.

alt text

С:

alias npp='notepad.exe&'

вам даже не придется вводить '&'.


Нодля включения параметров я бы порекомендовал скрипт (вместо псевдонима) , размещенный в любом месте вашего пути, в файле с именем "npp":

/c/WINDOWS/system32/notepad.exe $1 &

будетпозволяют открывать любой файл с помощью «npp anyFile» (без необходимости «&»), не дожидаясь кода возврата.

Сценарий, подобный

for file in $*
do
  /c/WINDOWS/system32/notepad.exe $file &
done

, запускает несколькоредакторы, по одному на файл в параметрах:

npp anyFile1 anyFile2 anyFile3

позволит вам

5 голосов
/ 20 августа 2010

Выполните команду с амперсандом (&), чтобы запустить ее в фоновом режиме.

2 голосов
/ 06 июня 2014

Я объединил решение VonC и это https://stackoverflow.com/a/7131683/1020871, чтобы получить псевдоним, который запускает исполняемый файл и передает параметры без блокировки git bash.Добавьте к .bashrc следующее:

npp() {
    notepad++.exe $* &
}

startGitk() {
    gitk $* &
}
alias gitk=startGitk

Теперь я могу открыть несколько файлов notepad ++, например npp .gitignore build.gradle или gitk, с пользовательскими аргументами, такими как gitk test -- .gitignore.

У меня был похожий псевдоним дляNpp, как для Gitk, но обнаружил, что я мог бы вызвать функцию напрямую.Я также могу вызвать startGitk, но он не сработал, когда я назвал его gitk.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...