Read / If comando help

0

Estou tentando executar isso -

#!/bin/bash

echo "Who are you?"
read NAMES

{
if [ "$NAMES" == "Mallory" ] ; 
    echo "Hello, me!"
else [ "$NAMES" == "Palmer" ] ; 
    echo "Hey, baby! I love you!"
else echo "Gtfo here..."
}

Mas toda vez que acontece, isso acontece ...

mallory@whitecelica:~/stuff/learning/internets$ ./wru
Who are you?
Mallory
./wru: line 9: syntax error near unexpected token 'else'
./wru: line 9: 'else [ "$NAMES" == "Palmer" ] ; '

O que estou fazendo de errado?

    
por malohhree 10.07.2014 / 02:23

2 respostas

1
read -p "Who are you? " NAMES

if [[ "$NAMES" == "Mallory" ]] ; then
    echo "Hello, me!"
elif [[ "$NAMES" == "Palmer" ]] ; then
    echo "Hey, baby! I love you!"
else
    echo "Gtfo here..."
fi
  1. if requer then e fi
  2. não else [test] mas elif [test]
  3. suas chaves de agrupamento não são necessárias
por glenn jackman 10.07.2014 / 02:40
0

Tenho menos 4 caracteres:

#!/bin/bash

echo "Who are you?"
read NAMES


if [ "$NAMES" == "Mallory" ] ; then
    echo "Hello, me!"
elif [ "$NAMES" == "Palmer" ]; then
    echo "Hey, baby! I love you!"
else echo "Gtfo here..."
fi
    
por Charles Green 10.07.2014 / 02:42