2

这是我的脚本:

echo "Name"

read name

if [ "$name" == "abcd" ]; then

 echo "Password"

 read password

 if [ "$password == "pwd" ]; then

  echo "Hello"

 else

  echo "Wrong password"

 fi

else

 echo "wrong username"

fi

这是我运行它时得到的输出:

嘘你好.sh

姓名

A B C D

hello.sh:第 14 行:在寻找匹配的“”时出现意外的 EOF

hello.sh:第 16 行:语法错误:文件意外结束

知道这里有什么问题吗?这可能是一个非常愚蠢的,但我浪费了将近一个小时。

4

4 回答 4

9
if [ "$password == "pwd" ]; then

你有一个无与伦比"$password

于 2011-04-20T07:21:23.180 回答
3

你可以使用case. 这是一个例子。出于安全原因,您不会想告诉任何人哪个组件是错误的。

echo "Name"
read name
echo "Password"
read password
case "${name}${password}" in
 "abcdpwd" ) 
     echo "hello";;
  *) echo "User or password is wrong";;
esac
于 2011-04-20T07:25:26.773 回答
0

在 Shell 脚本中。

if condition
    then
        if condition
        then
            .....
            ..
            do this
        else
            ....
            ..
            do this
        fi
    else
        ...
        .....
        do this
    fi
于 2018-10-17T12:30:40.157 回答
-1
if [ "$name" == "abcd" ];
then
  echo "Password"
  read password
  if [ "$password" == "pwd" ];
  then
    echo "Hello"
  else
    echo "Wrong password"
  fi
else
  echo "wrong username"
fi
于 2016-08-12T07:02:07.443 回答