c - 之间有什么区别。和./在bash中?

标签 c bash shell executable

<分区>

运行此命令(其中 a.out 是有效的 C 可执行文件):

. a.out

...导致此错误:

bash: .: a.out: cannot execute binary file

但是,运行以下命令:

./a.out

...成功执行 C 二进制可执行文件。

显然,这里有两种类型的执行,有什么不同?

最佳答案

shell 使用空格分隔要运行的命令及其参数。

在第一个示例中,要运行的命令是 .,参数为 a.out. 命令是 source 的 shell 快捷方式,它将包含 shell 命令的文件的名称作为其第一个参数,并在当前 shell 中运行这些命令。此命令失败,因为 a.out 是二进制文件,而不是 shell 脚本。

在第二个例子中,运行的命令是./a.out,意思是运行当前目录下的文件a.out

关于c - 之间有什么区别。和./在bash中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48691687/

相关文章:

C - popen 未显示正确的输出

c - c程序中的段错误

linux - 自定义脚本 echo -e 参数

linux - korn shell 和环境变量

php - 从 php 启动 phantomjs 服务器并等待它的响应

C - 添加到列表节点内的链接列表

Mac OS X El Capitan 可以运行为 Yosemite 编译的需要/usr/gnu64/lib 中的库的软件吗?

bash - Perl 在一个大文本文件中进行多项搜索和替换操作

linux - Windows 上 ubuntu 服务器和 ubuntu 客户端的不同行为

python - 在 Windows 中自动化流程