首页 > 解决方案 > 为什么 bash 不能运行 .out 文件?

问题描述

使用gcc a.c可以得到输出二进制a.out

交流

#include <stdio.h>

int main(int argc, char* argv[])
{
    printf("Hello world!\n");
    return 0;
}

1.在bash shell下next就可以了。

$文件a.out
a.out:ELF 64 位 LSB 可执行文件,x86-64,版本 1 (SYSV),动态链接,解释器 /lib64/ld-linux-x86-64.so.2,用于 GNU/Linux 2.6.32,BuildID[ sha1]=6107be037f932892b69677f69b90a1d71b94e9e4,未剥离
$ ./a.out
你好世界!

2. bash shell 下next 不行。

$ bash a.out
a.out: a.out: 无法执行二进制文件

我的问题:

以上两者有什么区别?

bash xxx可能只能执行类似的东西a.sh,这可能是答案,但是$ ./a.out当我在 bash shell 中执行此操作时,它似乎也在 bash 中运行?他们的区别?请帮我理解,谢谢。

标签: linuxbash

解决方案


推荐阅读