我想构建一个函数,该函数将根据其参数更改其用户输入提示。
my_fucntion
db_host
在提示用户输入后取 1 个参数:
function provide_host () {
echo "Enter NAME OR IP OF ${function_param1} DATBASE HOST: "
read global function_param1_db_host
}
所以如果我把这个函数称为
function provide_host (primary)
它应该提示为
echo "Enter NAME OR IP OF PRIMARY DATBASE HOST: "
但如果我使用
function provide_host (secondary)
它提示
"Enter NAME OR IP OF SECONDARY DATBASE HOST: "
我的想法是我必须为此使用一个if
语句,但我不确定是否可以将函数的参数用作在函数内部提示用户的变量。
您可以使用
$1
获取第一个参数:或将其转换为大写:
然后调用你的函数:
但是,我会稍有不同。我不会尝试设置全局变量,而是在 stderr 中提示并从 stdout 中的函数返回 IP: