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 中运行命令