如何在 Git-Bash 中运行命令并让 Shell 保持运行?

如何在 Git-Bash 中运行命令并让 Shell 保持运行?

我曾在“Unix“网站。一切进行得很顺利,但偏离了主题,因此被关闭了:

https://unix.stackexchange.com/questions/748316/how-to-run-a-command-in-git-bash-and-leave-the-shell-running

我觉得这是一次很好的练习,我想在这里发布它。

我从这个问题开始:https://unix.stackexchange.com/questions/317837/how-to-run-bash-commands-and-leave-prompt-open

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

我有一个启动此 shell 的快捷方式Git-Bash。启动后,我希望它source start.sh自动运行,然后保持 shell 处于打开状态。

捷径

捷径的性质

到目前为止我尝试过的一切都没有效果。

这是我的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

相关内容