论坛风格切换切换到宽版
  • 993阅读
  • 6回复

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

上一主题 下一主题
离线lele521.
 
发帖
2033
C币
-60461
威望
412
贡献值
1
银元
-1
铜钱
4633
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
我运行一个脚本,要从键盘上获得一个字符,并且不需要按ENTER键.就可以处理得到的.这个字符--- 印刷
不.是用read ,read需要按enter键[成人用品]
请问还有其他的命令.是键盘输入一个字符,.脚本就立即处理这个字符的命令吗?电脑
谢先

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

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线phantomsr.
发帖
2109
C币
-271763
威望
404
贡献值
3
银元
-5
铜钱
4604
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-14
必须要指明输入的结束标志

离线paranoia.
发帖
1941
C币
-263065
威望
356
贡献值
1
银元
-2
铜钱
4372
人人网人气币
0
只看该作者 板凳  发表于: 2010-04-14
好像shell必须等回车

发帖
2111
C币
-60243
威望
399
贡献值
1
银元
-2
铜钱
4866
人人网人气币
0
只看该作者 地板  发表于: 2010-04-14


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

离线zyb12344.
发帖
2072
C币
-60320
威望
403
贡献值
1
银元
-2
铜钱
4745
人人网人气币
0
只看该作者 4楼 发表于: 2010-04-14
read的版本
#!/bin/sh
read -s -n1  -p "Hit a key in " keypress
echo
echo "Keypress was "\"$keypress\""."
exit 0

离线skydancer.
发帖
2053
C币
-193385
威望
392
贡献值
1
银元
-2
铜钱
4675
人人网人气币
0
只看该作者 5楼 发表于: 2010-04-14
不用动到stty了,
read -n 1 yyourcharactor
就可以了

离线大番茄.
发帖
1983
C币
-60942
威望
353
贡献值
1
银元
0
铜钱
4414
人人网人气币
0
只看该作者 6楼 发表于: 2010-04-14


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

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