Reputation: 1377
This is my script:
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
And this is the output I get when I run it:
sh hello.sh Name abcd hello.sh: line 14: unexpected EOF while looking for matching `"' hello.sh: line 16: syntax error: unexpected end of file
Any idea whats wrong here? This could be a very silly one, but i wasted almost an hour on it.
Upvotes: 5
Views: 136852
Reputation: 1112
In Shell script.
if condition
then
if condition
then
.....
..
do this
else
....
..
do this
fi
else
...
.....
do this
fi
Upvotes: 0
Reputation: 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
Upvotes: -1
Reputation: 6911
you can use case
. Here's an example. You won't want to tell anybody which component is wrong, for security reason.
echo "Name"
read name
echo "Password"
read password
case "${name}${password}" in
"abcdpwd" )
echo "hello";;
*) echo "User or password is wrong";;
esac
Upvotes: 3
Reputation: 182619
if [ "$password == "pwd" ]; then
You have an unmatched "
before $password
Upvotes: 9