使用 cygwin“无法执行二进制文件”

使用 cygwin“无法执行二进制文件”

我已经在文件夹 C:\cygwin 中安装了 64 位 cygwin

跑步

"C:\cygwin\bin\sh.exe" /bin/ls

结果是

/bin/ls: /bin/ls: cannot execute binary file

为什么?

分别运行 sh 和 ls 即可。

C:\test>"C:\cygwin\bin\sh.exe"
sh-4.4$ /bin/ls
foreign_keys  functions  procedures  props.sql  schemas.sql  tables

使用文件命令,我可以看到二进制文件是 64 位的。

C:\test>"C:\cygwin\bin\sh.exe"
sh-4.4$ file /bin/sh
/bin/sh: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows
sh-4.4$ file /bin/ls
/bin/ls: PE32+ executable (console) x86-64, for MS Windows
sh-4.4$

答案1

我尝试了一些变化并发现您可以使用:

C:\cygwin64\bin\sh.exe -c “/bin/ls”

或者

C:\cygwin64\bin\bash -c “/bin/ls”

相关内容