我有一个功能,可以让我检查尚未设定的变量:验证参数和设定值,如果空的,bash函数
ValidateArgs() {
for Var in "[email protected]" ; do
echo "Validating argument $Var with value \"${!Var}\"."
if [ -z "${!Var}" ] ; then
echo "Argument \"$Var\" is required. Please define $Var."
read -rp "Enter $Var: " Var
echo -e "\n"
fi
done
}
我想加强这方面的功能,因此它能够设置一个值在与read -rp
一起阅读后通过的论点。
我尝试了几种组合,是否有可能这样做,如果是这样,那么最简单的方法是什么?
的函数被调用是这样的:
ValidateArgs Action HostName
如果行动和主机名都没有设置过ValidateArgs去功能后的值被要求,应设置。我宁愿在主脚本中使用该功能。
从技术上说,你不是活得检查未设置的变量;您正在检查缺少非空值的变量。请阅读'-v'运算符和'$ {var:?msg}'参数扩展。 – chepner