3

我的脚本中有很多是/否的答案。如何创建一个函数来最小化我的脚本大小?

我有以下内容:

function ask {
    read -n 1 -r
    if [[ $REPLY =~ ^[Yy]$ ]]
    then
            return 1;
    else
            exit
            echo "Abort.."
    fi
}

ask "Continue? [y/N] "

它工作正常。但问题“继续?[y/N] 没有显示。我怎样才能“转移”这个文本到我的功能

4

1 回答 1

4

您可以使用 $1 变量:

function ask {
    echo $1        # add this line
    read -n 1 -r
    if [[ $REPLY =~ ^[Yy]$ ]]
    then
            return 1;
    else
            exit
            echo "Abort.."
    fi
}

编辑:正如@cdarke 所指出的,由于读取中的“-p”开关,可以避免“回声”调用:

# echo $1
# read -n 1 -r
read -n 1 -r -p "$1"
于 2013-03-06T07:39:32.413 回答