linux 运行一个可执行文件,出现 line 1: syntax error: unexpected "(" 的错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 运行一个可执行文件,出现 line 1: syntax error: unexpected "(" 的错误相关的知识,希望对你有一定的参考价值。

参考技术A

出现 line 1: syntax error: unexpected "(" 的错误说明可执行脚本出现异常,具体错误在脚本的第一行,是语法错误,“(”不是预期的。

题主需要检查脚本中的实际内容,根据具体内容去排除问题,脚本才能正确执行。


扩展资料

linux下shell脚本的基本语法结构介绍:

shell脚本开头以#! /bin/bash表示说明这是一个shell脚本

脚本文件的名字是以.sh结尾的,用于区分这是一个shell脚本文件

shell执行方法有两种,一种是给予权限,使用sh shell.sh或./shell.sh的方式,一种是bash shell.sh的方式

查看脚本执行过程 -x

[root@localhost src]# sh -x 1.sh + echo 123

123

exit

查看脚本语法是否有错误 -n

[root@localhost src]# sh -n 1.sh 1.sh: line 5: syntax error: unexpected end of file

在 Linux 上运行 C++ 可执行文件

【中文标题】在 Linux 上运行 C++ 可执行文件【英文标题】:Run C++ executable on Linux 【发布时间】:2016-02-08 17:15:24 【问题描述】:

我正在尝试使用 OpenCV 在 Linux 中编译一个执行 C++ 程序。

当我输入时

g++ -c facedetection.cpp -std=c++11 -o facedetection

facedetection 文件已正确生成。请注意,我使用 -std=c++11 是因为我有一个错误建议这样做。

在执行chmod o+x facedetection 之后,我尝试使用./facedetection 执行它,但出现错误:

bash: ./facedetection: cannot execute binary file: Exec format error

怎么了?

【问题讨论】:

【参考方案1】:

当您使用-c 编译时,它会生成一个对象 (.o) 文件,而不是可执行文件。您需要在没有-c 的情况下编译它才能生成可执行文件。

较大的 C++ 程序将有多个.cpp 文件;对于每个.cpp 文件,您将使用-c 进行编译以生成它们各自的.o 文件。然后您将链接这些.o 文件(运行g++ 而没有-c)以生成最终的可执行文件。

【讨论】:

以上是关于linux 运行一个可执行文件,出现 line 1: syntax error: unexpected "(" 的错误的主要内容,如果未能解决你的问题,请参考以下文章

使用nw.js打包vue项目为exe可执行文件

Linux下addr2line命令用法

Mac上如何运行shell脚本(变为可执行文件)

line: 1: Syntax error: word unexpected (expecting ")")

在 linux 上运行 eclipse,“eclipse 不可执行”。

linux发布qt程序怎么这么复杂