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

我已经cd到了那个目录

是怎么回事?
用同样的方法操作本文件夹下的其他可执行文件都没有这种情况,只有这个有

出现 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
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-05-29
这不是说你的操作命令错了,而是说执行 程序 webs 时,webs 这个程序 有语法错误,错在里面的第一行,小括号 '(' 附近。 你可以检查一下程序webs的内容,它是不是可执行文件,是不是有错,若是,改正后再运行。本回答被网友采纳
第2个回答  推荐于2018-02-27

    首先确定这个文件有可执行权限(目前看起来应该是有的),但是有可执行权限的文件并不一定要直接执行,没准是被其他脚本调用。

    ls -l webs

    file webs, 确定是个什么样的文件类型。

    vi或者cat webs,检查第一行。这里的提示已经很明确的指出第一行有语法错误。接着只需要根据脚本或者文件类型,检查并更正语法错误即可。

ps:你可以贴这个文件内容上来,head webs

本回答被网友采纳
第3个回答  2017-11-27
首先需要arm-linux-gcc 交叉编译,其次要注意,你编译的是arm-linux-gcc test.c生成的是a.out可执行文件,不要错误的将test复制到开发板运行了。
第4个回答  2014-06-20
此问题由于交叉编译引起,在arm开发板上运行的程序应使用交叉编译器(arm-linux-gcc)

避免此问题的方法 应常编写makefile文件追问

因为当初makefile的时候make的有问题吗?

本回答被提问者采纳
相似回答