подтверждение ответа по умолчанию с помощью чтения через несколько секунд [закрыто]

Я хочу подождать 3 секунды, пока пользователь ответит "нет". если да, то процесс завершается, если пользователь отвечает "да" или проходит 3 секунды, то на вопрос автоматически выдается y и процесс продолжается. Я пытался сделать это, используя read -t 3, но он жалуется, что у него нет такой опции.

 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
0
задан 15 March 2015 в 14:42

1 ответ

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"

https://www.gnu.org/software/bash/manual/bashref.html#index-read

2
ответ дан 3 August 2019 в 12:44

Другие вопросы по тегам:

Похожие вопросы: