Ajuda necessária para transmitir argumentos da linha de comando no bash

1
#function myfunc
myfunc(){
echo 
case  in

    e)
            a=5
            ;;
    q)
            a=10
            ;;

esac
}

myfunc

Preciso de ajuda para seguir:

$myfunc.sh e

echo não está mostrando nada. case também não está funcionando. O que estou fazendo errado?

    
por cosmicraga 03.08.2013 / 20:38

1 resposta

1

Você esqueceu de passar pelo menos um parâmetro para a função myfunc quando o chama. Então, seu script myfunc.sh deve se parecer com:

#!/bin/bash

#function myfunc
myfunc(){
    echo 
    case  in
        e) a=5 ;;
        q) a=10 ;;
        *) a='not e or q' ;;
    esac
    echo $a
}

myfunc    #in this case you can also use $@ or $* 

Mais sobre:

por Radu Rădeanu 06.08.2013 / 20:13