你把echo语句后面的那对括号去掉,echo语句是不需要括号的,echo输出的字符串只需要用双引号括起来就可以,加括号就会有语法错误的提示。
错误信息通常会指出错误发生的大致位置,如“line 1: syntax error near unexpected token”表明错误在第一行。注意查看报错信息中的行号和具体位置。 3. 检查该位置附近的语法 示例一:错误的引号使用 假设你的脚本是这样的: bash echo "Hello World 这里的错误是因为双引号没有正确闭合。修正后的脚本应该是: bas...
你的计算的操作符用错了:sum=( ($sum+$i) ),这句错了。应该是((sum=$sum+$i))另外,你注意下,这些双括号,后面都不能有空格的。
let i=$i+1 let s=$s+$i 或者也可以是i=`expr $i+1`(($i+1)) 本身不是命令不能产生输出结果不能用于直接赋值,需使用echo $(($i+1)) 输出结果,如 i=`echo $(($i+1))`也可以。expr是用于计算一个表达式的值的命令。
echo "wrong" fi 我是按照视频上的程序稍作修改写的shell脚本程序,结果执行时出现“syntax error near unexpected token `then'”,看半天没看出原因,上网查了半天,终于搞明白了原因:if 与‘['之间没有加空格导致的。另外,在执行时,我也发现 ‘=’两边必须也得加空格,否则也会出错,不是语法出错,而是不管赋给...
运行报错:syntax error near unexpected token `elif' 【解决过程】 1.去notepad++中,视图->显示符号->显示所有符号,然后就看到了预料到的,所有的回车换行都是windows的CR LF: 得知是Linux和windows下的回车换行符不兼容的问题。 所以,剩下的就是去将windows下面的CR LF,转换为Linux下面的LF,即可。
echo "right" else echo "wrong" fi 结果执行时出现“syntax error near unexpected token `then'”,看半天没看出原因,上网查了半天,终于搞明白了原因:if 与‘['之间没有加空格导致的。另外,在执行时,我也发现 ‘=’两边必须也得加空格,否则也会出错,不是语法出错,而是不管赋给a的值是多少,程序都会得到if...
这不是linux shell脚本,是编译项目用的Makefile吧。语法上没看到有什么错误啊,看看括号是不是中文的。另外,GNU make的语法说明提到:Empty may actually contain whitespace characters and thus are not seen as empty.You can use the strip function to avoid interpreting whitespace as a non-...
syntax error near unexpected token `then' #!/bin/bash clear function test { if[$1 -eq "root"]&&[$2 -eq "123456"] then echo "Right" else echo "Wrong" fi } test root 123456 --- 上面这个程序我执行时,报这个错误,刚接触shell,没想到它的语法这么……不说了,在网上找个原因,贴出正确的...
syntax error near unexpected token `done’ 运行脚本文件出现syntax error near unexpected token `done’的问题 搜索发现很多答案给出的都是win 和linux 编码解码问题 如果是编码问题用方案1解决 : 脚本如下: #!/bin/bash #riqizizeng datebeg=$1