問(wèn)題描述
平時(shí)想要在項(xiàng)目目錄中輸入git
命令,我需要先打開(kāi)git
-bash
窗口,然后還要cd
到項(xiàng)目目錄中。這挺麻煩的。我現(xiàn)在想:
通過(guò)批處理腳本,直接在某個(gè)目錄中啟動(dòng)git
-bash
窗口。
實(shí)現(xiàn)
在項(xiàng)目目錄下,創(chuàng)建一個(gè)批處理腳本(StartGitBash.bat
)文件,寫(xiě)入如下的命令:
start F:\Program" "Files\Git\git-bash.exe --cd=D:\dev\workspace\HexoTools
命令解釋start
用于啟動(dòng)一個(gè)窗口F:\Program" "Files\Git\git-bash.exe
是git
-bash
的路徑,注意路徑中間的空格要用引號(hào)包起來(lái)--cd=D:\dev\workspace\HexoTools
指定git
-bash
的啟動(dòng)目錄為D:\dev\workspace\HexoTools
,點(diǎn)擊批處理在項(xiàng)目目錄下打開(kāi)git-bash
現(xiàn)在我只要點(diǎn)擊項(xiàng)目目錄下的StartGitBash.bat
:
![](/d/20211017/d6f24bc72789c827bea0fa506737a742.gif)
就可在項(xiàng)目目錄下打開(kāi)git-bash了:
![](/d/20211017/8e3f3990fc9d7ceff852b7e64f93f76c.gif)
升級(jí)
上面的實(shí)現(xiàn)方式雖然可以快速某個(gè)項(xiàng)目中打開(kāi)git-bash.exe
,但是這種實(shí)現(xiàn)方式不通用,所以我改進(jìn)了一下,通過(guò)輸入項(xiàng)目路徑來(lái)快速在該目錄下快速打開(kāi)git-bash.exe
。為了后面調(diào)用的時(shí)候少打點(diǎn)字,我把文件名改為StartGit.bat
,代碼如下:
@echo offset /P input="輸入要在git-bash中打開(kāi)的項(xiàng)目路徑:"start F:\Program" "Files\Git\git-bash.exe --cd=%input%
通過(guò)Win+R調(diào)用
然后把這個(gè)StartGit.bat
所在的目錄放到path
環(huán)境變量中,這樣就可以通過(guò)win+r
調(diào)用了,調(diào)用的步驟為:
復(fù)制一個(gè)項(xiàng)目的路徑.
![](/d/20211017/6c013c11db05760191fd254b8b507cfa.gif)
win+R
打開(kāi)運(yùn)行,輸入StartGit
然后回車(大小寫(xiě)無(wú)所謂).
![](/d/20211017/f83c2f89b6ac10602d2f755bb471ff98.gif)
然后粘貼項(xiàng)目路徑,按回車,這樣就可以快速在Git-bash.exe
中快速進(jìn)入該項(xiàng)目路徑了.
![](/d/20211017/4165ead8d75a24721dca0b1a413c725b.gif)
運(yùn)行效果如下:
![](/d/20211017/4864b02b7585e2e4bf369e037cdac761.gif)
參考資料
如何使用腳本啟動(dòng)具有特定工作目錄的Git Bash窗口?
Windows 10
這基本上是@ lengxuehx的答案,但是針對(duì)Win 10進(jìn)行了更新,它假設(shè)你的bash安裝來(lái)自git官方下載的 Git Bash for Windows。
cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") exit
在我丟失Git Bash的上下文菜單項(xiàng)作為我從命令注冊(cè)表設(shè)置運(yùn)行的命令后,我最終使用了這個(gè)。 如果你對(duì)此感到好奇,我這樣做了:
- 在HKEY_CLASSES_ROOT\Directory\Background\shell的shell鍵中創(chuàng)建一個(gè)名為Bash的新鍵
- 將字符串值添加到Icon (不是新密鑰!),它是git-bash.exe的完整路徑,包括git-bash.exe部分。 您可能需要將其包裝在引號(hào)中。
- 在上下文菜單中將Bash的默認(rèn)值編輯為要使用的文本
- 在Bash添加一個(gè)名為command的子鍵
- 將command的默認(rèn)值修改為cmd /c (start /b "%cd%" "C:\Program Files\GitW\git-bash.exe") exit
然后你應(yīng)該能夠關(guān)閉注冊(cè)表并從任何真正的目錄開(kāi)始使用Git Bash。 例如, This PC不是真正的目錄。
如何使用腳本(bash或Windows批處理)啟動(dòng)具有指定工作目錄的新Git Bash窗口?
我的目標(biāo)是從單個(gè)腳本啟動(dòng)多個(gè)Git Bash窗口,每個(gè)窗口都設(shè)置為不同的工作目錄。 通過(guò)這種方式,我可以在啟動(dòng)計(jì)算機(jī)后快速開(kāi)始工作,而不必打開(kāi)Git Bash窗口并將每個(gè)窗口導(dǎo)航到正確的工作目錄。
編輯:我不是問(wèn)如何更改默認(rèn)工作目錄,就像這個(gè)問(wèn)題一樣,而是從腳本啟動(dòng)一個(gè)或多個(gè)具有不同工作目錄的終端窗口。
Git Bash使用cmd.exe作為終端加上MSYS / MinGW的擴(kuò)展,這是由sh.exe (一種cmd.exe包裝器)提供的。 在Windows中,使用start命令啟動(dòng)新終端。
因此,啟動(dòng)具有特定工作目錄的新Git Bash終端的shell腳本是:
(cd C:/path/to/dir1 start sh --login)
(cd D:/path/to/dir2 start sh --login)
等效的Windows批處理腳本是:
C: cd \path\to\dir1 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
D: cd \path\to\dir2 start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
要獲得與從開(kāi)始菜單啟動(dòng)的Git Bash相同的字體和窗口大小,最簡(jiǎn)單的方法是將開(kāi)始菜單快捷方式設(shè)置復(fù)制到命令控制臺(tái)默認(rèn)設(shè)置(更改默認(rèn)值,打開(kāi)cmd.exe ,左鍵單擊左上角的圖標(biāo),并選擇默認(rèn)值)。
嘗試使用--cd =選項(xiàng)。 假設(shè)您的GIT Bash位于C:\ Program Files \ Git中,它將是:
"C:\Program Files\Git\git-bash.exe" --cd="e:\SomeFolder"
如果在注冊(cè)表項(xiàng)中使用,則可以使用%1提供文件夾參數(shù):
"C:\Program Files\Git\git-bash.exe" --cd="%1"
我不熟悉Git Bash,但假設(shè)它是一個(gè)位于/path/to/my/gitshell的git shell(例如git-sh ),而你最喜歡的終端程序叫做`myterm',你可以編寫(xiě)以下腳本:
(cd dir1; myterm -e /path/to/my/gitshell)
(cd dir2; myterm -e /path/to/my/gitshell) ...
請(qǐng)注意,執(zhí)行的參數(shù)-e可能與您最喜歡的終端程序命名不同。
這是可以在Run dialog box直接執(zhí)行的命令(快捷鍵是win + R ),也可以保存為.bat腳本:
cmd /c (start /d "/path/to/dir" bash --login) exit
補(bǔ)充
idea中可以直接設(shè)置terminal為git-bash
nice 這個(gè)方法好,不用進(jìn)入工作目錄再右鍵了
以上就是使用批處理腳本在特定目錄中啟動(dòng)Git-Bash窗口的詳細(xì)內(nèi)容,更多關(guān)于批處理啟動(dòng)Git-Bash窗口的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- 詳解bash中的腳本調(diào)試機(jī)制
- 處理Shell腳本中帶有空格的變量(bash腳本)
- Bash 腳本實(shí)現(xiàn)每次登錄到 Shell 時(shí)可以查看 Linux 系統(tǒng)信息
- 如何利用Bash腳本監(jiān)控Linux的內(nèi)存使用情況
- bash腳本中將密碼傳遞給ssh/scp命令方法詳解
- linux Bash腳本判別使用者的身份方法示例
- 詳解shell中source、sh、bash、./執(zhí)行腳本的區(qū)別
- linux bash腳本監(jiān)控啟動(dòng)停止weblogic服務(wù)的腳本寫(xiě)法
- 如何寫(xiě)出安全的、基本功能完善的Bash腳本