All plugins

DSH / BUNDLE / BUNDLES

dsh-git-bash

v0.1.3Fishquito7 / dsh-gitbash7e2ec81f4a

InstallableBundlesBundles & other modulesCommunity · Topic auto-analysis

Overview

dsh-git-bash

Mount DSH's stock bash tool on Windows against Git Bash (no PowerShell in the path).

README / EN

Package documentation

Registry summary

Mount DSH's stock bash tool on Windows against Git Bash (no PowerShell in the path).

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **不经过文件沙箱**:命令以 DSH 进程自身的权限执行,不会产生 `[sandbox: file access denied]` 之类的提示。原因很实际 —— Git Bash 是 MSYS2 进程,在 Windows 受限令牌下需要 fork、管道与私有临时目录,行为不可靠,因此有意不接沙箱。 - **只跟一个收口点,不跟上游的入口命名**:上游 `dsh-bash-local` 的子类入口改过名(`run`/`start` + `runArgv`/`startArgv` → `execute`/`executeArgv`),但每条执行路径最终都要经过 `spawnSpec(spec, argv, …)` 把 argv 落成 spawn 配置。本插件就在这个收口点把裸 `bash` 换成解析出来的 Git Bash,所以入口再改名也不会退回裸 `bash`;命名过的入口照旧覆盖一层,作为第二道保险。首次执行时还会走一遍公开路径(`resolve` → `execute` → `result`)自检并把 shell 身份写进日志 —— 万一上游连收口点都换掉,日志里会直接出现 `self-check FAILED`,而不是让命令输出一片乱码。 - **只读、不动环境**:解析全程只读注册表并反推 PATH;不改 `PATH`、不改注册表、不改 DSH 自身,升级 DSH 后不需要任何额外配置。 - **`file:` 依赖是拷贝,不是软链**:改完代码后要 `remove` → `add` → 重启才会生效。 - **仅 Windows 需要**:POSIX 平台上 DSH 本来就有 bash 工具,装这个插件没有意义。 ---