shell script é executado duas vezes

3

Eu tenho este pequeno trecho de código em um shellscript para definir uma senha:

if [[ -z "${PASS+x}" ]]; then
    read -p "enter pass or use default [test1234]" PASS
    if [[ -z "$PASS" ]]; then
        PASS="test1234"
    fi
fi


if [ $EUID != 0 ]; then
    sudo "$0" "$@"
    exit $?
fi

Quando executo o script, o comando read é executado duas vezes. Isso não deveria acontecer. Alguém pode me ajudar a encontrar o erro?

script completo: github (já corrigido)

    
por Benutzer193 19.02.2015 / 17:16

1 resposta

2

Em seu script completo ao qual você está vinculado, você tem isto:

if [ $EUID != 0 ]; then 
    sudo "$0" "$@" 
    exit $? 
fi 

Isso é feito depois de todo o tratamento das opções e da chamada read que você mostra na sua pergunta. Meu palpite é que você está atingindo este bloco de código, reiniciando o script usando sudo e pressionando o comando read duas vezes - uma vez antes de reiniciar o script usando sudo e uma vez depois.

    
por 19.02.2015 / 18:00