Bash 使用cygwin的Windows 7上出现奇怪的权限问题

Bash 使用cygwin的Windows 7上出现奇怪的权限问题,bash,shell,windows-7,cygwin,Bash,Shell,Windows 7,Cygwin,我已经编写了一系列shell脚本,其目的并不是手头的问题,问题在于权限(?)。这些脚本在Linux主机和Windows XP主机上都可以正常运行 然而,在Windows7上,发生了一些事情,我无法理解原因 此脚本所做的第一件事是生成一个文件(source utils.conf),该文件与脚本本身位于同一目录中。但当调用脚本时,输出为: source: utils.conf: file not found 而脚本(通过设计)会出现barfs。它甚至没有说“权限被拒绝”,而是说“找不到文件”。这不

我已经编写了一系列shell脚本,其目的并不是手头的问题,问题在于权限(?)。这些脚本在Linux主机和Windows XP主机上都可以正常运行

然而,在Windows7上,发生了一些事情,我无法理解原因

此脚本所做的第一件事是生成一个文件(
source utils.conf
),该文件与脚本本身位于同一目录中。但当调用脚本时,输出为:

source: utils.conf: file not found
而脚本(通过设计)会出现barfs。它甚至没有说“权限被拒绝”,而是说“找不到文件”。这不是打字错误,而是说
找不到文件
,也不是
没有这样的文件或目录

但是。。。如果出现提示并键入:

(source utils.conf; echo $SOMEVARFROMTHATFILE)
它工作正常

此外,我还通过GUI检查了用户是否拥有读取和执行所有相关文件的权限:情况就是这样


为什么脚本不能工作?

必须与此相关,这是一个在较新版本中修复的错误(4)


上面没有任何迹象表明这与权限有关。你为什么这么想?在提示下键入源不存在文件时会发生什么情况?在Bash3和4上,我得到
Bash:nonexistentfile:No这样的文件或目录
。奇怪的是,您得到的是
文件未找到
。它确实显示“文件未找到”!就这样!即使脚本以
#开头/bin/bash
,它是通过
sh thescript.sh
调用的。。。但是bash是4.1.x版本。谢谢