Str*_*del 4 linux windows bash cygwin
我有一个脚本文件,可以使用 Cygwin 在 Windows 中运行。当我尝试使用此文件时出现以下错误
-bash: /sigdet/文件名: 无法执行二进制文件: Exec 格式错误。
sigdet 是我拥有脚本的 Cygwin 目录中的文件夹。Rawdata 是包含脚本要分析的原始数据文件的目录的名称。
为了尝试解决这个问题,我更改了文件权限,检查以确保它位于 64 位计算机上,并且脚本似乎已在 64 位计算机上编译。完成这些步骤后,我不知道还会出现什么问题。以下是我输入的命令:
我首先像这样更改了目录:
$ cd /sigdet/
然后我运行了应该可以工作的脚本:
$ /sigdet/文件名 -i 原始数据
windows下脚本文件需要扩展名吗?我尝试将其更改为 .sh 扩展名,但没有成功。我听说它在其他 Windows 机器上就可以正常工作。
感谢任何可以提供帮助的人。
whatever并#!/usr/bin/python3在第一行中具有类似的内容。当您在 shell 中运行它时./whatever,它将查找python3并/usr/bin运行您的文件,如下所示:/usr/bin/python3 ./whatever. (事实上,由于这一点,您还可以指定传递给解释器的其他参数。)也有可能您的脚本是有效的,但它包含一个指向错误解释器的 shebang。如果是这种情况,那么路径很可能是正确的,否则你会得到/whatever/interpreter: bad interpreter: no such file or directory错误或类似的信息。但是,所有其他点都适用于解释器(这只是另一个可执行文件......)
如果脚本和/或解释器至少要在 Windows 或 Cygwin 上执行,它应该包含上述 shebang(#!/path名字)或者应该是 Windows 可执行文件(在这种情况下,文件数据应以MZ字母开头,您可以使用可以在记事本中检查它。)如果不是,则意味着您提供的文件无法在 Cygwin 上运行。