LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1093|回复: 1

如何处理从文中搜索并把缓存内容存入 read的变量中

[复制链接]
发表于 2010-9-1 16:43:50 | 显示全部楼层 |阅读模式
有几行代码如下:
grep  "$name"   file  |
while   read  name
do
    echo "Do you want to remove $name?(y/n)"
    read choice
done

这时如果在file文件中搜索到多个匹配值,然后这些匹配是不是先保存到一个缓存区中,在每次出现read时就把其中的一行缓存保存到read后的变量中?这样的话,如何处理才能使得在while判断条件中读取匹配的缓存,而在下面输入选择y/n时可以正常输入后保存到下一行read后的choice变量中?
发表于 2010-9-1 22:59:11 | 显示全部楼层
让它们从不同的输入读值,
可以这样:
  1. [color="Red"]exec 3<&0[/color]
  2. grep "$name" file | while read name
  3. do
  4. echo "Do you want to remove $name?(y/n)"
  5. read choice [color="Red"]<&3[/color]
  6. done
  7. [color="Red"]exec 3<&-[/color]
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表