Lor*_*sum 7 windows-7 git cmd.exe
我可以通过 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"
Run Code Online (Sandbox Code Playgroud)
我想使用这样的调用在特定目录中启动 git-bash。
对于上下文,我是在 SAS Enhanced Editor 中执行此操作的。实际调用是
%sysexec(start "" "C:\Program Files\Git\bin\sh.exe" && exit);
Run Code Online (Sandbox Code Playgroud)
对于那些不熟悉 SAS 的人,%sysexec
打开一个 Windows 命令提示符的实例并发出作为参数给出的任何命令。它的效果出奇的好。但是,我希望能够在特定目录中启动 git-bash,而不仅仅是 home。
为此,我可以在 中创建一个条目.bashrc
:
cd /c/new/starting/dir
Run Code Online (Sandbox Code Playgroud)
但是,这样做的麻烦在于,每当我打开 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.
Run Code Online (Sandbox Code Playgroud)
是否可以从 Windows 命令提示符在特定目录中启动 git-bash?如果是这样,正确的语法是什么?
BONUS:在50个字符以内做加分
小智 10
"C:\Program Files\Git\git-bash.exe" --cd=c:\path\to\folder
Run Code Online (Sandbox Code Playgroud)
一种可能的解决方案是在打开 git-bash 之前更改目录。默认情况下,无论当前目录是什么,git-bash 都会打开。为此,cd
请在start
,
cd C:\specific\dir\to\open && start "" "C:\Program Files\Git\bin\sh.exe"
Run Code Online (Sandbox Code Playgroud)
由于这是在 SAS 中完成的,因此可以将特定目录存储在宏变量中。这保证了 50 个字符以内的要求(因此可以从KEYS
菜单中的热键调用)。您可以在代码中的某处分配 Git 工作目录,
%let gwd = C:\specific\dir\to\open;
Run Code Online (Sandbox Code Playgroud)
然后%sysexec
电话看起来像
%sysexec(cd &gwd. && start "" "C:\Program Files\Git\bin\sh.exe" && exit);
Run Code Online (Sandbox Code Playgroud)
这如下工作。首先,SAS 将扩展&gwd
. 然后它会打开一个 Windows 命令提示符。将cd
目录更改为已&gwd.
解决的任何内容。Git-bash 然后在当前目录(已更改为&gwd.
)中打开。最后,每当 git-bash 关闭时,exit
都会给出命令,关闭 Windows 命令提示符会话。
不幸的是,似乎最初cd
在调用和打开 git-bash 之间引入了足够的延迟,这很烦人。我怀疑cd
在 git-bash中发出命令可能会更快,但这种方法确实有效。
归档时间: |
|
查看次数: |
23442 次 |
最近记录: |