c 程序二进制文件不能在 sh 中 运行
c program binary cannot run in sh
我已经从基于 arm 的嵌入式系统的 c 代码交叉编译了一个可执行文件。当我在嵌入式系统中执行二进制文件时,出现以下错误:
line 1: syntax error: unexpected word (expecting ")")
我四处搜索了一下,发现是因为我使用的嵌入式系统(Linux的某些版本)没有bash
,只有sh
。是否可以使用 sh
使我编译的二进制可执行文件无需在其中安装 bash(这很麻烦)?
二进制文件不是为 shell 程序构建的。它们是为特定架构和 OS 环境构建的。 shell 所做的只是 fork()
一个子进程并调用 exec()
。因此,您的主机是否具有 bash
或 sh
并不重要。只需确保二进制文件适用于正确的体系结构和机器。而且您确实在执行二进制文件,而不是源代码。
我已经从基于 arm 的嵌入式系统的 c 代码交叉编译了一个可执行文件。当我在嵌入式系统中执行二进制文件时,出现以下错误:
line 1: syntax error: unexpected word (expecting ")")
我四处搜索了一下,发现是因为我使用的嵌入式系统(Linux的某些版本)没有bash
,只有sh
。是否可以使用 sh
使我编译的二进制可执行文件无需在其中安装 bash(这很麻烦)?
二进制文件不是为 shell 程序构建的。它们是为特定架构和 OS 环境构建的。 shell 所做的只是 fork()
一个子进程并调用 exec()
。因此,您的主机是否具有 bash
或 sh
并不重要。只需确保二进制文件适用于正确的体系结构和机器。而且您确实在执行二进制文件,而不是源代码。