无法使用bash命令执行二进制文件

时间:2018-09-21 13:59:26

标签: bash binaryfiles

我想从我的git中为Windows bash运行cpp可执行文件。我不明白为什么可以使用./Main运行它,但是不能使用bash Mainbash 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 :(得分:3)

只需删除脚本最后一行上的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