使用 Git Bash 从 Shell 脚本调用批处理脚本

Posted

技术标签:

【中文标题】使用 Git Bash 从 Shell 脚本调用批处理脚本【英文标题】:Call Batch Script from Shell Script using Git Bash 【发布时间】:2015-05-17 03:30:53 【问题描述】:

我有一个批处理脚本(master.bat),它调用了许多批处理脚本。 Master.bat:

call a.bat
call b.bat
call c.bat

调用这个批处理脚本的shell脚本(call_master.sh)是:

echo $PATH
cmd /c master.bat

我正在使用 Git Bash 在 Windows-7 上调用这个 shell 脚本。 当我运行 shell 脚本时,我没有收到任何错误,但是 master.bat 没有调用任何脚本。 应该怎么做才能正确地做到这一点

【问题讨论】:

【参考方案1】:

在 /c 开关中 double the slash 可能会有所帮助,因此它不会被 shell 解释为 C: 驱动。

我做了一个小测试,这是命令和输出:

$ cmd //c master.bat

> call a.bat

> echo hello from a
hello from a

> call b.bat

> echo hello from b
hello from b

> call c.bat

> echo hello from c
hello from c

这是来自 Mingw wiki 关于path conversion 的另一个参考。

【讨论】:

有没有办法在新窗口中运行这个批处理?我的意思是,不知何故,让它从 Git Bash shell 流中分离出来独立评估。 找到了答案,很简单:start file.bat

以上是关于使用 Git Bash 从 Shell 脚本调用批处理脚本的主要内容,如果未能解决你的问题,请参考以下文章

从 bash shell 脚本调用 Python 脚本 [重复]

无法从 bash shell 脚本执行 Tcl 脚本

git,git bash和git shell有啥区别

使用 cygwin 和 git bash 在 Windows 10 上进行 Shell 脚本评估失败

windows怎么提取bash脚本

SSH、shell、Xshell 、bash、Git、Git bash 、Git CMD、Git shell