bash - 无法使用 bash 命令执行二进制文件
问题描述
我想cpp
从我的 git 为 windows bash 运行一个可执行文件。我不明白为什么我可以用它来运行它,./Main
但我不能用它来运行它bash Main
or bash Main.exe
。在后一种情况下,我收到一个错误:
不能执行二进制文件
主文件
#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
.
问题是什么?有人可以解释一下吗?
解决方案
只需删除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
推荐阅读
- java - 如何向 Apache Flink 表添加新行
- android - Unity 3d 构建后更改纹理
- c++ - 将此成员称为模板参数
- c++ - 谷歌测试:带有模板的模板模板的笛卡尔积类型列表
- c++ - 通过指针恢复对数组的引用。UB与否?
- typescript - Firebase 和 React 对象可能为“空”。TS2531
- android - 无法膨胀 MaterialCardView
- javascript - 如何阻止 alertController 第二次打开
- android - 通过 Kotlin 中的 Switch 按钮设置元素可见性
- python - 在 Python 中,我将如何比较一个字典中的两个值在另一个字典中具有相同的值?