Search code examples
shellwindows-7cygwincygpath

Cygwin can't execute shell script


I am trying to execute a .sh file with Cygwin on Windows 7, and I'm getting an error cannot execute binary file.

Here is what I wrote in the Cygwin command prompt window:

$ bash cygpath --unix C:\Users\\MyName\\Documents\\MyProject\\dygraphsMaster\\generate-combined.sh

This was the result:

/usr/bin/cygpath: /usr/bin/cygpath: cannot execute binary file

Solution

  • Enclose your Windows path with double quotes (") and your entire cygpath command with backticks (`).

    My example:

    > pwd
    /cygdrive/c/TestFolder/ScriptInsideHere
    
    > ls -al
    total 1
    drwx------+ 1 Administrators Domain Users  0 Aug 25 13:08 .
    drwx------+ 1 Administrators Domain Users  0 Aug 25 13:13 ..
    -rwx------+ 1 Administrators Domain Users 29 Aug 25 13:08 hello_world.sh
    
    > cat hello_world.sh
    #!/bin/bash
    echo Hello World
    

    Running the above:

    > bash `cygpath --unix "C:\TestFolder\ScriptInsideHere\hello_world.sh"`
    Hello World