Declaração de caso UNIX parâmetros múltiplos

0

Eu executo um script como ./script.sh com um parâmetro: ./script.sh on .

Isso diz a um script para desligar ou ligar a luz, dependendo do valor do parâmetro.

Eu uso esta declaração de caso para isso:

#!/bin/bash
case "$1" in
on) sudo something
    ;;
off) sudo something
    ;;
esac
exit 0

Agora, quero dar outro parâmetro para a localização das minhas luzes. Não é importante agora como isso funciona com a troca de luz, quero fazer outra declaração de caso nos casos on) e off) .

Eu tentei isso, mas isso não funciona:

#!/bin/bash
case "$1" in
on) 
    case "$2" in
    kitchen) sudo something
             ;;
    garage) sudo something
            ;;
    esac
    ;;
off)
    case "$2" in
    kitchen) sudo something
             ;;
    garage) sudo something
            ;;
    esac
    ;;
esac
exit 0

Eu não estou familiarizado com o UNIX, eu consigo seguir alguns tutoriais, mas é isso. Qualquer ajuda é apreciada! Além disso, toda outra estrutura de casos, como a verificação de dois parâmetros ao mesmo tempo, seria ótima, qualquer coisa que funcionasse ajudaria! :)

Além disso, lamento se esta é a comunidade errada do StackExchange, por favor me avise e eu a moverei para outra!

P.S. Eu estou usando Raspbian (em Raspberry Pi)

    
por B_s 08.03.2015 / 17:30

0 respostas