用“;”编写代码代替换行符

时间:2018-08-28 14:02:03

标签: bash

以下代码引发编译错误,并显示消息“意外令牌'fi'附近的语法错误”或“文件意外结尾”。

#!/bin/bash
pas=total ; echo "Put your paswword here: " ; if read -t 4 passw then ; if [ $passw=$pas ] then ; echo "Right password"  else ; echo "Wrong password"  fi  else ; echo "Wrong password" ; fi ;

请解释,错误在哪里?或者教我如何使用;编写Bash代码,而无需继续进行新的一行。

1 个答案:

答案 0 :(得分:2)

在这里尝试:

pas=total ; echo "Put your paswword here: " ; if read -t 4 passw ; then if [ $passw=$pas ]; then  echo "Right password";  else  echo "Wrong password"; fi else  echo "Wrong password" ; fi ;

在if语句中,您必须在条件之后和要执行的代码之后包括分号:

if [ ... ]; then ... ; fi

另外,您不需要在分号之后输入分号。