![啟動 cygwin 輸入 shell 來處理 Ctrl+C,而不提示“終止批次作業”](https://rvso.com/image/1555403/%E5%95%9F%E5%8B%95%20cygwin%20%E8%BC%B8%E5%85%A5%20shell%20%E4%BE%86%E8%99%95%E7%90%86%20Ctrl%2BC%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%8F%90%E7%A4%BA%E2%80%9C%E7%B5%82%E6%AD%A2%E6%89%B9%E6%AC%A1%E4%BD%9C%E6%A5%AD%E2%80%9D.png)
一般來說,Windows 用戶無法啟動批次文件和抑制Terminate batch job (Y/N)
提示Ctrl+C
沒有一些嚴重的解決方法或限制。
但是,我想知道西格文殼 (巴什)特別是,我是否可以以這樣的方式啟動它,以便Ctrl+C
在不遇到Terminate batch job (Y/N)
shell 退出時的提示的情況下進行處理。
也許,如果透過批次檔啟動它必然會導致該提示on Ctrl+C
,那麼在批次檔之外是否存在啟動它的有效方法?我知道 Cygwin.bat 檔案確實配置了一些變量,因此我希望能夠使用另一種解決方法來配置類似的變數。
我想要一個一般性的答案,但我正在使用ConsoleZ 包裝器包含終端會話,因此我會更加重視在此框架內起作用的答案。
答案1
請注意,該Cygwin.bat
檔案呼叫 shell(bash --login -i
在我的實例中),那麼為什麼不直接呼叫 shell呢?因此,無論您啟動批次文件,還是啟動巴什可執行檔代替。
在控制台Z,這意味著對於您的選項卡(在選項卡部分),設定殼參數到您的文件的位置bash.exe
,而不是您的Cygwin.bat
文件。但是,不要忘記--login -i
在其中設定參數(例如)殼場也是如此。值得慶幸的是,控制台Z有一個環境標籤在你的選項卡部分,您還可以根據需要在其中設定其他環境變數。