我对 CYGWIN 和 Bash 完全陌生,因此,我猜测在文档的某个地方有一个答案,但我没有成功找到它。
我有两个文件共存于一个目录中:文件和文件如果我打电话文件(使用 CYGWIN 终端),它给了我一个错误“无法执行二进制文件:Exec 格式错误”(因为它访问了文件),但如果我调用文件,效果很好。我发现手动的“shell脚本具有优先权,并被选中执行文件“,但在我的处境下,这似乎是错误的。那么,我应该怎么做才能执行文件呼叫文件在终端?提前致谢。
附言。/文件也不起作用;./文件.exe效果很好
答案1
Cygwin 遵循 Linux 规则,可执行文件没有默认扩展名。此类文件是通过使用命令修改其属性chmod
(而不是通过其扩展名)来定义为可执行文件的。
您不应该用相同的名称调用文件,因为“file”不会调用“file.exe”。
答案2
将重命名file
为其他名称。这应该足够了
mv file file2
.exe
然后,cygwin 中所谓的魔法处理程序会将和视为同义词file.exe
。file
还
请注意,file
也是基础包的命令
$ which file
/usr/bin/file
$ cygcheck -f $(which file)
file-5.32-1
并且程序名称重复不是一个好主意