提示答案是否正确,然后在Bash中验证

时间:2014-06-23 15:35:37

标签: bash unix

这是在安装开始时执行的初始脚本。它将捕获用户输入,然后将其写入另一个调用变量的bash脚本。然而,它的效果很好,我想在每个问题的确认中添加。

用户输入电子邮件之后,我希望它能回显他们输入的内容,以确认是否正确,是或否。如果是,则将其写入另一个脚本,然后继续下一个问题。如果不循环回到语句的开头,那么他们可以纠正答案。一旦完成,我想回应结果。

如果有人可以提供一些很棒的指示。我正在查看这些示例In Bash, how to add "Are you sure [Y/n]" to any command or alias?

#!/bin/bash
read -p "Who is the primary Email recipient? : " TO
    echo "TO=$TO" >> /var/tmp/ProcMon
read -p "What is the server hostname : " FROM
    echo "FROM=$FROM" >> /var/tmp/ProcMon

1 个答案:

答案 0 :(得分:3)

function prompt_and_confirm {
    local var=$1
    local prompt=$2
    local value
    local -u ans

    while :; do
        read -p "$prompt" value
        read -p "You entered: '$value': confirm [y/n] " ans
        [[ ${ans:0:1} == "Y" ]] && break
    done
    echo "$var=$value"
}

prompt_and_confirm TO   "Who is the primary Email recipient? : " >> /var/tmp/ProcMon
prompt_and_confirm FROM "What is the server hostname? : "        >> /var/tmp/ProcMon

注意: