我有一个我希望是一个简单的问题,但我还没有找到答案。我想从 Windows 批处理文件启动 Git Bash。这是我到目前为止所尝试的:
从 Win 7 开始按钮启动 Git Bash 使用 CTRL+ALT+DEL 将进程标识为“sh.exe” 使用启动命令从批处理文件启动 sh.exe start sh.exe
但是,这不会启动完整的 Git Bash 环境。 Git Bash 通常在标题栏中有“MINGW32”,但 sh.exe 有一个完整的路径... Git\bin\sh.exe
。我觉得有一些我可能不知道的覆盖或依赖项,也需要加载(拉入?导入?)。
这是我通过搜索网络找到的最佳结果之一,但它对我来说并不完全有意义,我不确定它是否完全适用于我的情况:
Running git from Windows Cmd line: Where are key files?
我是 Windows 批处理脚本领域的初学者。
command.com
是操作系统中包含的唯一 shell (b) 你在一个 32 位 NT 系统上,或者你自己调用了 command.com
,或者是一个旧程序为你做的。有关详细信息,请参阅 What is the difference between CMD and Command prompt in windows?。
batch
文件,这对我有用:start "" "%PROGRAMFILES%\Git\git-bash.exe" --cd-to-home
如果要从批处理文件启动:
对于 x86 开始 "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login
对于 x64 开始 "" "%PROGRAMFILES%\Git\bin\sh.exe" --login
我不确定你所说的“完整的 Git Bash 环境”是什么意思,但如果我这样做了,我会得到很好的提示
"C:\Program Files\Git\bin\sh.exe" --login
在 PowerShell 中
& 'C:\Program Files\Git\bin\sh.exe' --login
The --login
switch 使 shell 执行登录 shell startup files。
cmd
,这会导致奇怪的行为。我把它放在一个 .bat 文件中,现在一切正常:@"%SYSTEMDRIVE%\Program Files\Git\bin\bash.exe" --login
我更喜欢使用 git-bash.exe 而不是 sh.exe。
start "" "%ProgramFiles%\Git\git-bash.exe" -c "tail -f /c/Windows/win.ini"
最后调用/usr/bin/bash --login -i
可以停止关闭窗口;
start "" "%ProgramFiles%\Git\git-bash.exe" -c "echo 1 && echo 2 && /usr/bin/bash --login -i"
注意:我不确定这是一个好方法:)
start "" "%ProgramFiles%\Git\git-bash.exe"
,虽然它在新窗口中打开了 Git Bash,但输入像 ls
这样的简单命令会导致没有输出。这种方法似乎不允许执行 linux 命令。 ... 编辑:工作,只是花了很长时间(2 分钟)来运行 ls。然后 ls 在不到 1 秒的时间内再次运行。 ... 诡异的。
我更喜欢将 git 放在环境变量中,然后调用
c:\Users\[myname]>sh
or
c:\Users\[myname]>bash
创建环境变量的步骤(Win7)
在桌面上,右键单击计算机图标。
从上下文菜单中选择属性。
单击高级系统设置链接。
单击环境变量。
在用户变量部分,点击按钮 NEW,将变量名称作为 GIT_HOME,值作为 (folder-where-you-installed-git)。对我来说是 c:\tools\git,其他人可能有 C:\Program Files\Git
对我来说是 c:\tools\git,其他人可能有 C:\Program Files\Git
找到 PATH 环境变量并选择它。单击编辑。 (如果 PATH 环境变量不存在,请单击新建)。
在编辑窗口中,添加一个新值 %GIT_HOME% 和 %GIT_HOME%\bin。单击确定。单击确定关闭所有剩余的窗口。
[确保关闭要用于 git 的 CMD]
打开新的命令提示符,然后输入 sh 或 bash 或 git-bash
C:\Program Files\Git
并从 CMD 中键入 git-bash
来完成这项工作。此外,奇怪的是,虽然您只需键入 PATH 即可查看其内容,但要查看此 git 自定义变量的内容,您必须键入 echo %GIT_HOME%
GIT_HOME
变量并使用 git-bash
命令(或 git-cmd
)时,它将在新窗口中打开它。如果您添加到“PATH”环境变量,它将在该现有窗口中切换。您也可以键入 exit
以“注销” git bash 并仍然保留 DOS 提示符。
您可以将 git 路径添加到环境变量
对于 x86
%SYSTEMDRIVE%\Program 文件 (x86)\Git\bin\
对于 x64
%PROGRAMFILES%\Git\bin\
打开 cmd 写下这个命令来打开 git bash
sh --login
或者
bash --login
或者
sh
或者
bash
您可以查看此 GIF 图像以了解更多详细信息:
https://media1.giphy.com/media/WSxbZkPFY490wk3abN/giphy.gif
使用命令行访问 GIT BASH。
只需访问 Git 安装目录。
在我的情况下,它是。
C:\程序\Git\bin\sh.exe
https://i.stack.imgur.com/bYbvE.png
打开命令提示符并键入 bash
https://i.stack.imgur.com/1rpVO.png
繁荣..!现在您已经从命令提示符成功访问了 GIT BASH。
start "" "%SYSTEMDRIVE%\Program Files (x86)\Git\bin\sh.exe" --login -i
Git bash 将打开。
https://stackoverflow.com/a/33368029/15789
我在这里发布了一个答案。
打开 Windows 命令窗口,然后执行此脚本。如果您的工作目录发生变化,它将在您的工作目录中打开一个 bash 终端,并显示当前的 git 状态。它通过调用 exec bash 保持 bash 窗口打开。
如果您有多个项目,您可以使用不同的项目文件夹创建此脚本的副本,并从主批处理脚本中调用它。
我使用上面的信息来帮助创建一个更永久的解决方案。以下将创建可用于打开 Git Bash 的别名 sh:
echo @start "" "%PROGRAMFILES%\Git\bin\sh.exe" --login > %systemroot%\sh.bat
sh
并启动了一个 git-bash 窗口,我能够完美地运行命令。可以在您的答案中添加一些细节来解释这是如何工作的吗?我宁愿学习钓鱼是如何工作的,也不愿有人给我一条鱼,我认为这将有助于其他人寻找一个好的答案。谢谢
视窗
Git bash 默认位置 C:\Program Files\Git\bin
因此,复制此文件夹路径并将其粘贴到系统变量下的环境变量设置中。
https://i.stack.imgur.com/J2DU4.png
开始 -> 环境变量
https://i.stack.imgur.com/8gzzv.png
选择环境变量
https://i.stack.imgur.com/shc0F.png
像这样创建一个新的环境变量
https://i.stack.imgur.com/UtuSn.png
在路径变量中添加环境变量 gtbash %gtbash%
https://i.stack.imgur.com/fDr9A.png
现在通过一个新的命令提示符并输入 sh
(关闭已打开的终端或 cmd)来检查
https://i.stack.imgur.com/4RHPk.png
现在住
像这样的东西(GIF):
https://i.stack.imgur.com/CjsSW.gif
Endoro 的答案已经过时了,我无法发表评论;
# if you want to launch from a batch file or the command line:
start "" "%ProgramFiles%\Git\bin\sh.exe" --login
不定期副业成功案例分享