如何在 Git-Bash 中运行命令并使 shell 保持运行?

如何在 Git-Bash 中运行命令并使 shell 保持运行?

我从这个问题开始:如何运行 bash 命令并保持提示符打开?

然而,显然,bashGit-Bash是截然不同的。 Git-Bash是一个行为不同的包装器。

我有一个启动这个Git-Bashshell 的快捷方式。启动后,我希望它source start.sh自动启动,然后让外壳保持打开状态。

捷径

快捷方式的属性

到目前为止我所尝试的一切都没有成功。

这是我的start.shShell 脚本:

#!/bin/bash

# The File-Editor.
alias n='"C:\\Program Files\\Notepad++\\notepad++.exe"'

# The Build Commands.
alias gp='/c/DGSante/Git/dg-sante-new-cpms/gp.sh'

# The 'Docker' Commands.
alias dd='docker-compose down -v'
alias db='docker-compose build'
alias du='docker-compose up'

更新:

感谢大家的评论。

这是我尝试解决此问题的一个例子:

该快捷方式开始以下一行:

/c/Progra~1/Git/git-bash.exe -c 'exec /c/Progra~1/Git/git-bash.exe --cd=/c/DGSante/Git/dg-sante-new-cpms/ --init-file /c/DGSante/Git/dg-sante-new-cpms/start.sh -i'

但是,尽管第一个在必要的工作文件夹中Git-Bash以交互方式启动第二个并将其用作,但辅助文件夹已终止并且不会保持打开状态。Git-Bashstart.shinit-fileGit-Bash

解决方案:

非常感谢@muru 的澄清。

工作解决方案如下所示:

"C:\Program Files\Git\bin\bash.exe" --cd=C:\DGSante\Git\dg-sante-new-cpms\ --init-file C:\DGSante\Git\dg-sante-new-cpms\start.sh

我已经删除了包装器的使用Git-Bash。我完全依赖操作系统Bash的端口。Microsoft Windows

我完全同意@Marcus Müller 的评论。然而,这是我唯一能找到帮助的地方。

感谢大家。

结果:

Shell 及其源脚本

答案1

正如@muru 所建议的,也许在这里写下这个问题的答案是个好主意。

然而,这并不能解决Git-Bash问题。

这只是一种基于操作系统Bash端口的解决方法。Microsoft Windows

下面这一行启动 Shell,它执行 Shell 脚本,并且使终端保持运行:

"C:\Program Files\Git\bin\bash.exe" --cd=C:\DGSante\Git\dg-sante-new-cpms\ --init-file C:\DGSante\Git\dg-sante-new-cpms\start.sh

相关内容