
我可以透過多種方式透過 Windows 命令提示字元啟動 git-bash:
"C:\Program Files\Git\bin\sh.exe"
"C:\Program Files\Git\git-bash.exe"
"C:\Program Files\Git\usr\bin\mintty.exe"
我想使用這樣的呼叫在特定目錄中啟動 git-bash 。
作為上下文,我在 SAS 增強編輯器中執行此操作。實際的調用是
%sysexec(start "" "C:\Program Files\Git\bin\sh.exe" && exit);
對於不熟悉 SAS 的人,%sysexec
請開啟 Windows 命令提示字元的實例並發出作為參數給出的任何命令。它的效果出奇的好。但是,我希望能夠在特定目錄中啟動 git-bash,而不僅僅是在 home 中。
為此,我可以在以下位置建立一個條目.bashrc
:
cd /c/new/starting/dir
然而,這樣做的麻煩是,每當我打開 git-bash 時,例如透過特定資料夾中的上下文選單,預設目錄是.bashrc
.
我看到存在 git-bash 啟動選項喜歡--cd-to-home
或--cd=<path>
但我無法讓他們工作。例如,
"C:\Program Files\Git\bin\sh.exe" --cd-to-home
"C:\Program Files\Git\bin\sh.exe --cd-to-home"
"C:\Program Files\Git\git-bash.exe" --cd-to-home
"C:\Program Files\Git\git-bash.exe --cd-to-home"
etc.
是否可以從 Windows 命令提示字元在特定目錄中啟動 git-bash?如果是這樣,正確的語法是什麼?
獎金:在 50 個字元以內完成的獎勵積分
答案1
"C:\Program Files\Git\git-bash.exe" --cd=c:\path\to\folder
答案2
一個可能的解決方案是在打開 git-bash 之前更改目錄。預設情況下,git-bash 在目前目錄中開啟。為此,請cd
在 之前撥打電話start
,
cd C:\specific\dir\to\open && start "" "C:\Program Files\Git\bin\sh.exe"
由於這是在 SAS 中完成的,因此可以將特定目錄儲存在巨集變數中。這保證了 50 個字元以內的要求(因此可以從KEYS
選單中的熱鍵呼叫)。您可以在程式碼中的某個位置指派 Git 工作目錄,
%let gwd = C:\specific\dir\to\open;
然後調用%sysexec
看起來像
%sysexec(cd &gwd. && start "" "C:\Program Files\Git\bin\sh.exe" && exit);
其工作原理如下。首先,SAS 將擴充&gwd
.然後它會開啟 Windows 命令提示字元。將cd
目錄變更為&gwd.
解決的任何內容。然後 Git-bash 在當前目錄中開啟(已變更為&gwd.
)。最後,每當 git-bash 關閉時,exit
都會發出命令,關閉 Windows 命令提示字元會話。
不幸的是,最初的版本似乎cd
在呼叫和開啟 git-bash 之間引入了足夠的延遲,這很煩人。我懷疑cd
在 git-bash 中發出命令可能會更快,但這種方法確實有效。
答案3
您可以建立以下腳本:
cd c:\path\to\particular\directory
"C:\Program Files\Git\bin\sh.exe"
將其另存為whatever.cmd
或whatever.bat
併雙擊它。
為了方便起見,您可以按照以下步驟將腳本新增至工作列。我想我會包含這個,因為它並不像您想像的那麼容易(不能簡單地將腳本本身拖到任務欄):
- 右鍵單擊腳本並選擇“建立快捷方式”
- 右鍵單擊您建立的快捷方式並選擇“屬性”
- 在「快捷方式」、「目標」下,輸入:
cmd /c C:\path\to\your\script\whatever.cmd
- 筆記:您可能需要指定完整路徑指令(例如,C:\Windows\System32\cmd.exe...)
現在,只需單擊任務欄上的命令即可一鍵運行腳本。