我已经在文件夹 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”