linux - 为什么 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 中运行?他们的区别?请帮我理解,谢谢。
解决方案
推荐阅读
- excel-formula - Excel公式如果那么
- php - 强制 Apache 为 HEAD 请求返回 Content Length 0
- python - 如何将值添加到数组的末尾
- facebook - 添加新主页时 Facebook 主页会失去权限
- ms-access - 使用 ms-access 自动键宏来切换主菜单、功能区和导航窗格
- xml - powershell变量中的重复xml文档
- jpa - TransactionRequiredException 在 try/catch 异常块中持续存在时
- java - MariaDB 的休眠命名策略 (UPPER_SNAKE_CASE)
- php - Bluehost:PHPMailer 将已发送消息保存在已发送项目中
- django - AttributeError:模块“calc.views”没有属性“home”