论坛风格切换切换到宽版
  • 748阅读
  • 8回复

[问题求助]shell脚本如何从键盘获得一个字符 [复制链接]

上一主题 下一主题
离线vcdesign.
 
发帖
2016
C币
-60934
威望
345
贡献值
1
银元
-2
铜钱
4414
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
我运行一.个脚本,要从键盘上获得一个字符,并且不需要按ENTER键就可以处理得.到的这个字符.
不是用read ,r.ead需要按enter键           女人
请.问还.有其他的命令是键盘输入一个字符,脚本就立即处理这个字符的命令吗?    健康
谢先

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线qq273580105.
发帖
2049
C币
-235857
威望
381
贡献值
1
银元
-1
铜钱
4522
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
必须要指明输入的结束标志

发帖
2103
C币
-140609
威望
376
贡献值
1
银元
-2
铜钱
4536
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-13
我的这个只需要输入Y 或N就可以了,不需要2位,

问题是有没有这样的一个命令。。。

除了read还有其他命令是用于从键盘获得输入的吗?

离线lun0412.
发帖
2057
C币
-132078
威望
382
贡献值
1
银元
-2
铜钱
4590
人人网人气币
0
只看该作者 地板  发表于: 2010-04-13
好像shell必须等回车

离线pkx520.
发帖
2006
C币
-235498
威望
354
贡献值
1
银元
-4
铜钱
4577
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-13


QUOTE:原帖由 merabbit 于 2009-3-5 10:01 发表
我运行一个脚本,要从键盘上获得一个字符,并且不需要按ENTER键就可以处理得到的这个字符
不是用read ,read需要按enter键
请问还有其他的命令是键盘输入一个字符,脚本就立即处理这个字符的命令吗?
谢先

#!/bin/sh
echo
old_set=$(stty -g)
stty -icanon
keypress=$(head -c1)
echo
echo "key pressed was \""$keypress"\"."
echo
stty "$old_set"
exit 0

离线zxlovest.
发帖
2235
C币
-60023
威望
421
贡献值
1
银元
-1
铜钱
5033
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-13
read的版本
#!/bin/sh
read -s -n1  -p "Hit a key in " keypress
echo
echo "Keypress was "\"$keypress\""."
exit 0

离线wscxyy.
发帖
2093
C币
-140091
威望
377
贡献值
1
银元
-4
铜钱
4609
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-13
老兄,没看明白stty -icanon 这个的作用,讲讲。

离线dk97531.
发帖
2014
C币
2762
威望
379
贡献值
1
银元
-1
铜钱
4492
人人网人气币
0
只看该作者 7楼 发表于: 2010-04-13
不用动到stty了,
read -n 1 yyourcharactor
就可以了

离线5136456.
发帖
2120
C币
-235562
威望
415
贡献值
1
银元
-1
铜钱
4813
人人网人气币
0
只看该作者 8楼 发表于: 2010-04-13


QUOTE:原帖由 oldoger 于 2009-3-7 21:34 发表
老兄,没看明白stty -icanon 这个的作用,讲讲。

[-]icanon     enable erase, kill, werase, and rprnt special characters
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个