LinuxSir.cn,穿越时空的Linuxsir!

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

问高手个问题

[复制链接]
发表于 2006-2-28 14:49:12 | 显示全部楼层 |阅读模式
假如:
#./aaa
Are you OK?[Y/N]: Y   <===这里的时候如果按Y键显示Y,按N键显示N。按其它键不变。

请问,在shell下能做到吗??
发表于 2006-2-28 23:59:23 | 显示全部楼层
当然,就利用while和case结构.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-1 10:28:45 | 显示全部楼层
while和case 能??
回复 支持 反对

使用道具 举报

发表于 2006-3-1 10:34:35 | 显示全部楼层
他没读懂你的意思,呵呵,你这个问题大了。
回复 支持 反对

使用道具 举报

发表于 2006-3-1 12:09:25 | 显示全部楼层
read answer
while [ $answer != "Y" && $answer != "N" ]
do
  read answer
done
回复 支持 反对

使用道具 举报

发表于 2006-3-1 12:30:30 | 显示全部楼层
maybe I don't understand, but is this what you want

  1. #!/bin/bash

  2. while read -p "Are you OK?[Y/N]: " a; do
  3.     case $a in
  4.         Y) echo "Y";;
  5.         N) echo "N";;
  6.         *) :;;
  7.     esac
  8. done
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-3-1 13:50:57 | 显示全部楼层
这个得配合 stty 设置终端显示模式吧。
回复 支持 反对

使用道具 举报

发表于 2006-3-1 15:07:47 | 显示全部楼层
楼上的说的对。shell编程可以解决这个问题吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-1 15:23:06 | 显示全部楼层
stty没接触过~~
能详细点吗?
回复 支持 反对

使用道具 举报

发表于 2006-3-1 16:31:43 | 显示全部楼层
确实有难度,stty能对control character进行控制,但是一般的字符...
keyboard remap?

等待高手指点
回复 支持 反对

使用道具 举报

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

本版积分规则

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