免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2227 | 回复: 2
打印 上一主题 下一主题

[文本处理] shell脚本如何实现接收多个输入read [复制链接]

论坛徽章:
1
技术图书徽章
日期:2016-02-03 16:35:25
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-12-12 16:41 |只看该作者 |倒序浏览
#!/bin/bash

# 未经处理的地址资料

clear # 清屏.

echo " Contact List"
echo " ------- ----"
echo "Choose one of the following persons:"
  echo
  echo "[E]vans, Roland"
  echo "[J]ones, Mildred"
  echo "[S]mith, Julie"
  echo "[Z]ane, Morris"
  echo

  read person

  case "$person" in
  # 注意, 变量是被"" 引用的.

   "E" | "e" )
   # 接受大写或者小写输入.
   echo
   echo "Roland Evans"
   echo "4321 Floppy Dr."
   echo "Hardscrabble, CO 80753"
   echo "(303) 734-9874"
   echo "(303) 734-9892 fax"
   echo "revans@zzy.net"
   echo "Business partner & old friend"
   ;;
  # 注意, 每个选项后边都要以双分号;; 结尾.

   "J" | "j" )
   echo
   echo "Mildred Jones"
   echo "249 E. 7th St., Apt. 19"
   echo "New York, NY 10009"
   echo "(212) 533-2814"
   echo "(212) 533-9972 fax"
   echo "milliej@loisaida.com"
   echo "Ex-girlfriend"
   echo "Birthday: Feb. 11"
   ;;

  # 后边的 Smith 和 Zane 的信息在这里就省略了.

   * )
   # 默认选项.
   # 空输入( 敲回车RETURN), 也适用于这里.
   echo
   echo "Not yet in database."
   ;;

  esac

  echo

  exit 0


如何实现多个输入并且显示其对应地址啊?
我的想法是read到数组里面,但是小弟还没懂那么多,怎么解决啊?

论坛徽章:
5
金牛座
日期:2015-07-03 13:32:00卯兔
日期:2015-07-03 13:32:17程序设计版块每日发帖之星
日期:2015-11-29 06:20:0015-16赛季CBA联赛之同曦
日期:2015-12-15 09:36:06CU十四周年纪念徽章
日期:2016-07-06 17:18:48
2 [报告]
发表于 2015-12-14 09:46 |只看该作者
我觉得你的需求不明确。

1.多个输入并且显示其对应地址,是输入一个输出一个?那这个脚本就可以了,只不过加个死循环,然后加一个输入exit保证可以退出就行了。

2.多个输入不是输入一个输出一个
1)while多次输入,保存在数组,加入分支当输入finish的时候跳出输入循环。
2)从数组里依次读入输入,再一次解析输出。

论坛徽章:
1
程序设计版块每日发帖之星
日期:2015-12-17 06:20:00
3 [报告]
发表于 2015-12-14 10:41 |只看该作者
read -a array -p 'please input '


for x in ${array[@]}
do
echo "x=" $x

done

结果
./test.sh
please input a b c d 1 2 3 4
x= a
x= b
x= c
x= d
x= 1
x= 2
x= 3
x= 4
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP