问:
上面这个命令可以在 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 不会转换以
//
开头的路径或参数。