代码之家  ›  专栏  ›  技术社区  ›  Bercovici Adrian

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

  •  0
  • Bercovici Adrian  · 技术社区  · 6 年前

    cpp 可从我的git for windows bash执行。我不明白为什么我可以用 ./Main 但我不能用它 bash Main bash Main.exe

    主.cpp

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

    脚本.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 回复  |  直到 6 年前
        1
  •  3
  •   jbaptperez    6 年前

    只需移除 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