confirma uma resposta padrão usando a leitura após alguns segundos [fechado]

0

Eu quero esperar 3 segundos para o usuário responder não. Em caso afirmativo, o processo é encerrado. Se um dos usuários responder sim ao prompt ou passar 3 segundos, y será automaticamente enviado para a pergunta e o processo continuará. Eu tentei isso usando read -t 3, mas ele reclama que não tem essa opção.

 read -s -t 0 -n 9999
    read -p "Do you want to continue [DELETE on tbl_summary before \"${TM}\"] [y/s/n]? " confirm
    # ******** Saman ********
         confirm="y"
    #************************
    if [[ ${confirm} == "s" ]]; then
        kill -STOP $$
    elif [[ ${confirm} == "n" ]]; then
        exit 1
    elif [[ ${confirm} != "y" ]]; then
        echo "unknown option. exiting ..."
        exit 1
    fi
    
por Saman 15.03.2015 / 12:42

1 resposta

2
read -t 3 -p "prompt: " varname    # -t to timeout in 3 seconds
: ${varname:=default value}        # set the default value if varname is null
echo "$varname"

link

    
por glenn jackman 15.03.2015 / 14:32