Git Bash - “没有这样的文件”运行具有来自 cmd.exe 的完全限定路径的 bash 脚本

Posted

技术标签:

【中文标题】Git Bash - “没有这样的文件”运行具有来自 cmd.exe 的完全限定路径的 bash 脚本【英文标题】:Git Bash - "No such file" running a bash script with a fully qualified path from cmd.exe 【发布时间】:2019-01-27 16:28:36 【问题描述】:

Git for windows 安装 bash,bash.exe 可从 windows 命令提示符处获取。

启动 bash 脚本失败:

bash.exe D:\path\to\script.sh
/bin/bash: D:\path\to\script.sh: No such file or directory 

但该文件存在:

type D:\path\to\script.sh
<<< output >>>

正斜杠也不起作用:

bash.exe /d/path/to/script.sh

管道也不行:

echo '/d/path/to/script.sh' | bash.exe

打字

cat /d/path/to/script.sh

但是,在 bash.exe 中有效。

/编辑: 设备名称的大写似乎没有任何改变。 和

bash.exe \\d\\path\\to\\script.sh

也不行。

【问题讨论】:

只是猜测,试试bash.exe d:/path/to/script.sh /d 是 bash 语法糖,windows 不知道 bash -c "source /d/path/to/script.sh" 值得考虑。 【参考方案1】:

尝试在不带任何参数的命令提示符下启动 bash.exe。 然后执行 df -m ,这将显示驱动器的安装位置。 我的系统的示例输出:

$ df -m
Filesystem           1M-blocks   Used Available Use% Mounted on
C:/Program Files/Git    241166 196593     44574  82% /
O:                      798717 739944     58774  93% /o
U:                      798717 739944     58774  93% /u
Y:                      798717 739944     58774  93% /y

如您所见,安装 git 的驱动器以 root 身份挂载,但只有 Git-Install-Dir。 这意味着如果您的系统 Git 安装在 d: 上,这可能是您的问题。 也许可以将脚本放在 Git-Install-Dir 中的某个位置。

【讨论】:

d没有安装,d:安装在/d/上。好像没事吧?

以上是关于Git Bash - “没有这样的文件”运行具有来自 cmd.exe 的完全限定路径的 bash 脚本的主要内容,如果未能解决你的问题,请参考以下文章

Windows 上的 Git Bash - 致命:无法创建“C:/Users/scharko00/Documents/GitHub/myProject/.git/index.lock”:没有这样的文件

gradlew 出错:/usr/bin/env: bash: 没有这样的文件或目录

/bin/bash:从 Matlab 运行 shell 脚本时没有这样的文件或目录

如何正确设置 PHP 环境变量以在 Git Bash 中运行命令

启动 Jenkins bash:/usr/bin/java:没有这样的文件或目录

-bash:/ bin / bash ::没有这样的文件或目录