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 hello.sh

名前

あいうえお

hello.sh:14行目:一致する`"'を探しているときに予期しないEOF

hello.sh:16行目:構文エラー:予期しないファイルの終わり

ここで何が問題なのですか?これは非常にばかげたものかもしれませんが、私はそれにほぼ1時間無駄にしました。

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

シェルスクリプト。

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 に答える