Назад | Перейти на главную страницу

«Не удается выполнить двоичный файл» с помощью cygwin

Я установил 64-битный cygwin в папку C: \ cygwin

Бег

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

приводит к

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

Зачем?

Runnin sh и ls по отдельности работает.

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

Используя команду file, я вижу, что двоичные файлы 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$

Я пробовал несколько вариантов и вижу, что вы можете использовать:

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

или

C: \ cygwin64 \ bin \ bash -c "/ bin / ls"