问:
上面这个命令可以在 gitbash里调用批处理文件并在批处理任务结束时自动返回 gitbash。我想知道这个命令里的
答:
-
- 但在 Git Bash 里,
- 所以我们要告诉 Git Bash:“别当成路径!这是参数!”
Git Bash 使用的是
所以如果你写:
Git Bash 可能会错误解析
为避免这个转换,双斜杠
> Git Bash 不会转换以
cmd //c your_batch_file 上面这个命令可以在 gitbash里调用批处理文件并在批处理任务结束时自动返回 gitbash。我想知道这个命令里的
//c 为什么用两个 /?答:
-
cmd /c your_batch_file:标准 Windows 命令,用于执行命令后退出。- 但在 Git Bash 里,
/c 会被当成路径,比如 /c/Windows/System32。- 所以我们要告诉 Git Bash:“别当成路径!这是参数!”
Git Bash 使用的是
MSYS2 或 mingw,它自动把 /something 当成 UNIX 风格路径,比如:/c/Windows/System32
所以如果你写:
cmd /c myscript.bat
Git Bash 可能会错误解析
/c 为路径 C:\,而不是传给 cmd.exe 的参数。为避免这个转换,双斜杠
//c 是一种逃避路径转换的技巧: > Git Bash 不会转换以
// 开头的路径或参数。