Implementando uma cláusula if no script bash simples

0

Eu tenho um script bash que faz uso de cal -m $v , em que v é o número. O usuário é solicitado a fornecer o valor de v no início da execução. Caso o usuário pressione ENTER em vez de introduzir um número, quero que o script exiba os dias do mês atual, ou seja, execute apenas cal em vez de cal -m $v . Alguma idéia?

    
por user43389 27.01.2015 / 15:06

1 resposta

1

Podemos fazer melhor, podemos fazer uma verifique o intervalo para garantir que ele esteja entre 1 e 12 inclusive. Existem cerca de um bilhão de maneiras de fazer isso, mas aqui estão alguns:

if [ "$v" -ge 1 -a "$v" -le 12 ]; then
    cal -m "$v"
else
    cal
fi

Ou use um teste aritmético:

((v>=1 && v<=12)) && cal -m "$v" || cal
    
por Oli 27.01.2015 / 15:11