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