#!/bin/bash
#if program test
echo 'a:'
read a
if [ "$a" = "English" ];then
echo "right"
else
echo "wrong"
fi
结果执行时出现“syntax error near unexpected token `then'”,看半天没看出原因,上网查了半天,终于搞明白了原因:if 与‘['之间没有加空格导致的。另外,在执行时,我也发现 ‘=’两边必须也得加空格,否则也会出错,不是语法出错,而是不管赋给a的值是多少,程序都会得到if 后面的语句为假,从而得出wrong的情况。

本文介绍了一段Shell脚本中出现的语法错误及其解决方法。主要问题是if语句与‘[’之间缺少空格及赋值符号两边未加空格,导致条件判断始终为假。通过正确的语法调整,确保了脚本能够正确执行。

401

被折叠的 条评论
为什么被折叠?



