我在“ Unix ”网站上问过这个问题。进展顺利,但偏离了主题,因此被关闭:
我觉得这是一个很好的练习,我想把它发布在这里。
我从这个问题开始:https://unix.stackexchange.com/questions/317837/how-to-run-bash-commands-and-leave-prompt-open
然而,显然,bash
和Git-Bash
是截然不同的。
Git-Bash
是一个行为不同的包装器。
我有一个启动这个Git-Bash
shell 的快捷方式。启动后,我希望它source start.sh
自动启动,然后让外壳保持打开状态。
到目前为止我所尝试的一切都没有成功。
这是我的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 的评论。然而,这是我唯一能找到帮助的地方。
感谢大家。
结果:
正如@muru 所建议的,也许在这里写下这个问题的答案是个好主意。
然而,这并不能解决
Git-Bash
问题。这只是一种基于
Bash
操作系统端口的解决方法Microsoft
Windows
。下面一行代码确实启动了 Shell,它执行 Shell 脚本,并且还使终端保持运行: