调用整个路径时无法执行二进制文件

时间:2017-04-28 23:12:19

标签: linux bash

我正在尝试在Linux Ubuntu 16中使用 bison 实用程序。二进制文件位于 {{设置的 / usr / bin / bison 1}} 命令。

然而,当我从bash调用bison时它看起来像是有效的,但是如果我使用它的路径调用bison,我会收到以下错误(可以在截图中看到)

sudo apt-get bison

enter image description here

请注意,二进制文件的路径是Cannot execute binary file

此外,除了/ usr / bin中的bison二进制文件外,还有另一个名为 bison.yacc 的文件,其中包含:

*type -a bison*

这个问题有什么理由吗?任何解决方案?

1 个答案:

答案 0 :(得分:1)

您不能将.(或其有效别名source)与二进制文件一起使用。

. / source用于在当前 shell的上下文中执行 shell 代码。

二进制文件只能在进程中运行,因此您可以直接调用

/usr/bin/bison

exec也会创建一个新进程,但替换当前的shell。