2016-01-18 40 views
2

在Windows 8.1上。Git Bash在Ctrl + C關閉shell窗口。如何啓用標準行爲 - 退出運行操作

我寫了一個簡單的.sh腳本來啓動我的開發環境。我知道,我可以使用Windows本地批處理腳本(並且它工作正常,沒有問題),但我更喜歡Git Bash。問題是由我的腳本打開的每個Git Bash窗口在Ctrl+C上關閉。我不希望他們關閉,但只能退出正在運行的進程。

這是我的腳本。它打開四個Git Bash窗口並啓動它們內的進程。當我在這四個窗口中的一個窗口中敲擊Ctrl+C時,窗口就會關閉。殺死進程(除了nginx; nginx繼續工作)並關閉。而我只想停止這個過程,不要終止窗口:

#!/bin/bash 

cd /c/nginx 
start sh.exe --login -i -c "nginx" 

cd /c/Users/user/app 
start sh.exe --login -i -c "NODE_ENV='development' nodemon" 

start sh.exe --login -i -c "NODE_ENV='development' gulp mytask" 

start sh.exe --login -i -c "NODE_ENV='development' compass watch" 

怎麼做?

+0

看看[這裏](http://stackoverflow.com/questions/673278/cygwin-run-script-silenty-from-run-command)。您正在與Windows的標準行爲作鬥爭,所以解決方案不是微不足道的。 –

回答

0

如果在Git bash中使用類似Console2或ConsoleZ的包裝,它的外殼指向"C:\Program Files\Git\usr\bin\sh.exe" --login -i"C:\Windows\SysWOW64\cmd.exe /c ""C:\Program Files\Git\usr\bin\sh.exe" --login -i""它可以正常工作。我不確定如何在沒有包裝的情況下做到這一點,但無論如何使用它都非常酷,所以你可以嘗試一下!

相關問題