shell提示用户输入,并接受用户输入数据:
#接收用户输入数据
read data
#一般情况 (提示信息和输入不在同一行)
echo "请输入数据:"
read data
echo $data
BASH:
使用echo -n
#提示信息不换行(echo -n 打印且不换行)
echo -n "请输入数据:"
read data
echo $data
或使用read -p
#直接读取输入信息到变量中: read -p "提示信息" 变量
#注意提示信息和变量之间有空格
read -p "请输入数据:" data
KSH:
KSH不支持echo -n 和read -p选项,故不能用上诉方法。
KSH使用read -p 报错:ksh:read:no query process
需要使用以下格式:
#提示信息和输入在同一行
read data?"请输入变量值: "
echo $data
ps:大小写转换
bash和ksh均可使用
#读取用户输入数据,并将大写转化为小写
#大写转小写(typeset必须在变量赋值前使用)
echo "是否进行***操作(yes/no): "
typeset -l data
#typeset -u data (小写转大写)
read data
echo "你输入为:$data"
if [ "$data"X = "yes"X ]
then
echo "输入的选项是yes,执行***操作。"
elif [ "$data"X = "no"X ]
then
echo "输入的选项是no,不执行***操作."
else
echo "非法标志,退出."
exit 1
fi
exit 0
这篇博客介绍了在Shell脚本中如何提示用户输入数据,并展示了在Bash和KSH环境下不同的实现方式,包括使用`echo -n`和`read -p`选项。此外,还讲解了如何在Bash和KSH中进行大小写的转换,以及在用户输入判断中的应用示例。

2528

被折叠的 条评论
为什么被折叠?



