Невозможно выполнить двоичный файл командой bash - PullRequest
0 голосов
/ 21 сентября 2018

Я хочу запустить cpp исполняемый файл из моего git для Windows Bash.Я не понимаю, почему я могу запустить его с ./Main, но я не могу запустить его с bash Main или bash Main.exe.В последних случаях я получаю сообщение об ошибке:

не может выполнить двоичный файл

main.cpp

#include<iostream>

int main()
{
std::cout<<"Hello World";
return 0;
}

script.sh

 echo "Hello from Bash script.."
    echo "Hostname:${1}"
    echo "Port:${2}"
    echo "Listing contents:"
    ls -a
    echo "Launching cpp executable:"
    path=$(pwd)
    echo "Current path:${path}"
    bash "${path}/Main"

Для компиляции кода C ++ я использую: g++ -o Main main.cpp.

В чем проблема?Может кто-нибудь объяснить, пожалуйста?

1 Ответ

0 голосов
/ 21 сентября 2018

Просто удалите bash в последней строке вашего скрипта:

"${path}/Main"

Не забудьте сделать его исполняемым.

chmod +x script.sh

Это сработало для меня:

./script.sh hostname 80
Hello from Bash script..
Hostname:hostname
Port:80
Listing contents:
.       ..      Main        main.cpp    script.sh
Launching cpp executable:
Current path:/tmp/test
Hello World
...