bash是没有功能

时间:2013-03-06 07:36:05

标签: bash function prompt

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

我有以下内容:

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

ask "Continue? [y/N] "

工作正常。但问题“继续?[y / N]是否显示。如何将此文本”转移“到我的功能

1 个答案:

答案 0 :(得分: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'调用:

# echo $1
# read -n 1 -r
read -n 1 -r -p "$1"