Como posso fazer esse script funcionar?

0

O script (input.sh):

echo "What is your name?"

if [[ $1 =~ "*" ]]
then
read name1
read name2
echo "Are you really "$name1 "??? or" $name2 "?"
else
echo "Are you really "$1 "??? or" $2 "?"
fi

O que eu quero é se eu executar o comando: ./input.sh fahad Eclipse

Em seguida, deve imprimir:

What is your name?
Are you really fahad ??? or Eclipse ?

Além disso, se eu fizer isso: ./input.sh

Em seguida, ele deve solicitar a entrada e, em seguida, imprimir a linha.

Como posso fazer isso?

    
por Fahad Ahammed 26.03.2016 / 14:20

1 resposta

1

Seu script não está sendo executado corretamente devido à sua declaração if, o seguinte deve funcionar. Requer 2 args, ou irá perguntar-lhes name1 e name2.

A instrução if contém '$ #', que calcula o número de argumentos fornecidos. A seguir, '-ne' é o operador de comparação para 'diferente de'. Finalmente, o último número é para quantos você está esperando. Então, no nosso caso, estamos procurando exatamente 2, se 1 ou 4 forem dados, a instrução else será executada.

#!/bin/bash
echo "What is your name?"

if [[ $# -ne 2 ]] ; then
read name1
read name2
echo "Are you really "$name1 "??? or" $name2 "?"
else
echo "Are you really "$1 "??? or" $2 "?"
fi
    
por bc2946088 26.03.2016 / 14:42