git-bash-shell
v2.5.0
Published
Use Git Bash as cross-platform shell for Windows
Downloads
114
Maintainers
Readme
git-bash-shell
Use Git Bash as cross-platform shell for Windows
Why
- Inject Bash or Cmder to Windows shell
cmd.exe. - Add POSIX style features for Node child process:
- Add POSIX style path support for Node file system.
- POSIX style root path will be convert to Git install directory.
- Support for the Cygwin mount table.
- Support for The cygdrive path prefix.
- Add POSIX style path support for these npm config items:
- Add Windows code page support for executable file in
%windir%directory (Target encoding must be set inprocess.env.LANG).
Install
npm install git-bash-shell --global
exit 0Please restart your terminal after install. If Node version < 8, please install util.promisify
Usage
env command
Add env as a prefix for command in terminal or npm package scripts
// package.json
"scripts": {
"show-shell": "env echo $SHELL",
}Node API
require('git-bash-shell');
const spawnSync = require('cross-spawn').sync;
spawnSync('echo $(git --version)', {
shell: '/bin/sh',
stdio: 'inherit',
});npm config
You can update config by command:
npm config set shell /bin/bash
npm config set script-shell /bin/shOr edit .npmrc file in directory of package.json:
echo shell=/bin/bash>>.npmrc
echo script-shell=/bin/sh>>.npmrcDefault Shell
- When
options.shellset totruefor child process,process.env.SHELLwill be used,process.env.ComSpecis used as a fallback ifprocess.env.SHELLis unavailable. - When a npm config value set to shell, it will inject to
cmd.exe
