我曾在“Unix“网站。一切进行得很顺利,但偏离了主题,因此被关闭了:
我觉得这是一次很好的练习,我想在这里发布它。
我从这个问题开始:https://unix.stackexchange.com/questions/317837/how-to-run-bash-commands-and-leave-prompt-open
然而,显然,bash
和Git-Bash
是完全不同的。
Git-Bash
是一个行为不同的包装器。
我有一个启动此 shell 的快捷方式Git-Bash
。启动后,我希望它source start.sh
自动运行,然后保持 shell 处于打开状态。
到目前为止我尝试过的一切都没有效果。
这是我的start.sh
Shell 脚本:
#!/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-Bash
start.sh
init-file
Git-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 的评论。但是,这是我唯一能找到帮助的地方。
感谢大家。
结果:
答案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