我有一个脚本文件,我被授予使用Cygwin在Windows中运行。 当我尝试使用此文件时,出现以下错误
–bash:/ sigdet / filename:不能执行二进制文件:执行格式错误。
sigdet是我有脚本的Cygwin目录中的文件夹。 Rawdata是脚本应该分析的原始数据文件的目录名称。
为了尝试解决这个问题,我已经更改了文件权限,我已经检查过它是否在64位机器上,而且脚本看起来是在64位机器上编译的。 经过这些步骤,我不知道还有什么问题。 这里是我input的命令:
我第一次改变了这样的目录:
$ cd / sigdet /
然后我运行了这个工作的脚本:
$ / sigdet / filename -i rawdata
脚本文件是否需要在Windows中有扩展名? 我试过把它改成.sh扩展名,但没有运气。 我被告知,它只是在其他Windows机器上工作,它是如何。
感谢任何人可以帮助这个。
whatever
并且在第一行中有#!/usr/bin/python3
或类似文件。 当你运行它时,它会在/usr/bin
查找python3
,然后像这样运行你的文件: /usr/bin/python3 ./whatever
。 (事实上,由于这个,你也可以指定传递给解释器的附加参数。) 你的脚本也有可能是有效的,但是它包含一个指向坏的解释器的shebang。 如果是这样的话,那么最有可能的路径是正确的,否则你会得到/whatever/interpreter: bad interpreter: no such file or directory
错误或类似。 但是,所有其他的点适用于解释器(这只是另一个可执行文件…)
如果脚本和/或解释器至少要在Windows或Cygwin上执行,它应该包含前面提到的shebang( #!/path
名),或者它应该是Windows可执行文件(在这种情况下文件数据应该开始用MZ
字母,你可以在记事本中检查它。)如果不是,则表示你提供的文件不能在Cygwin上运行。
有这个相同的问题。 在makefile的顶部添加以下内容:
导出ARCH = CYGNUS
在制作过程中发生的事情是创建了Linux和Windows版本的可执行文件。 你只需要使用./.exe版本。