1
0
forked from cheng/wallet
wallet/docs/libraries/git_bash_undocumented.md

53 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Git Bash undocumented command line
---
git-bash is a `mintty.exe` wrapper and bash wrapper it winds up invoking
other processes that do the actual work. While git-bash.exe is undocumented, `mintty.exe` and [`bash.exe`](https://www.gnu.org/software/bash/manual/bash.html) [are documented](http://www.gnu.org/gethelp/).
`git-bash.exe` sets up the environment in windows for `bash.exe`, then launches the bash shell
Example Windows shortcut to bash script: `/x/src/wallet/docs/mkdocs.sh`
"C:\Program Files\Git\git-bash.exe" --cd=X:\src\wallet --needs-console --no-hide --command=usr\bin\bash.exe --login -i docs/mkdocs.sh
Notice that the paths to the left of the invocation of `bash` are in Windows
format, and the paths to the right of the invocation of bash are in gnu
format.
Albeit this way of executing a bash script in windows is too clever by half,
since you should be able to execute it just by clicking on it.
`--cd=D:\src`
Sets the initial working directory to `/d/src` (windows path, launches bash
with the corresponding gnu path)
`--no-cd`
does not set working directory.
`--cd-to-home`
Sets the working directory to home.
`--command=`command-line
Executes `<command-line>` instead of the embedded string resource.
`--minimal-search-path`
Ensures that only `/cmd/` is added to the `PATH` instead of `/mingw??/bin` and `/usr/bin/`
`--no-minimal-search-path`
Normal search path
`--needs-console`
Ensures that there is a Win32 console associated with the spawned process
`--no-needs-console`
Fails to ensure that there is a Win32 console
`--hide`
Hides the console window. This makes sense if you are launching a script and
not expecting any feedback. But it means that the script has no means to
give you an error message.
`--no-hide`
Does not hide the console window.