Linux shell ”Press any key to continue ”功能实现
function process_continue()
{
SAVESTTY=`stty -g`
stty cbreak
dd if=/dev/tty bs=1 count=1 > /dev/null 2>&1
stty -cbreak
stty $SAVESTTY
}
echo "Press any key to continue..."
process_continue
不用敲击回车输入字符:
function read_chars()
{
SAVESTTY=`stty -g`
stty cbreak
dd if=/dev/tty bs=1 count=3 2>/dev/null -从屏幕输入多个字符的时候bs为1,count可为多个,因为每次键入都算一次块输入
stty -cbreak
stty $SAVESTTY
}
DUMP=`read_chars`
echo $DUMP
关于dd命令:http://blog.chinaunix.net/uid-24958038-id-3416169.html
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
示例: dd if=./test1.txt of=./test2.txt bs=4 count=1 2>dev/null - 从./test1.txt中拷贝1个块大小为4byte的内容到./test2.txt中,2>dev/null 是将去掉dd的一些默认输出。
关于stty:http://blog.chinaunix.net/uid-2522786-id-223518.html
stty:设置终端属性
cbreak 同 -icanon
-cbreak 同 icanon
-icanon, 设置一次完整的读操作最小为N个字符
Linux shell ”Press any key to continue ”功能实现的更多相关文章
- Linux脚本实现“按任意键继续/Press any key to continue”效果
此代码来自lnmp一键安装包,用于实现“按任意键继续/Press any key to continue”效果: get_char() { SAVEDSTTY=`stty -g` #隐藏终端输入显示 ...
- 三星笔记本安装系统时报错:image failed to verify with * access denied* press any key to continue.
安装系统从光盘启动报错: 出现黑屏,并且有一个提示框image failed to verify with *access denied*press any key to continue 原因:三星 ...
- U盘安装Ubuntu15.04 出现boot failed: please change disks and press a key to continue
1.根据国内的教程,用Ultraiso制作了一个Ubuntu15.04的U盘启动盘,在装系统的时候提示如下错误:boot failed: please change disks and press a ...
- 【ubuntu】Error: environment block too small. Press any key to continue
Error: environment block too small. Press any key to continue 如何修复这个Error呢? 输入以下命令 sudo su cd /boot/ ...
- 打开ubantu报错(invalid environment block. Press any key to continue)
今天向往常一样打开ubantu ,却无法正常打开,如下图 意思是无效的环境模块,随意按键继续,按任意键后如下图 折腾了许久问题也没有得到解决,后来在某篇博客中找到了答案 https://blog.cs ...
- linux shell执行中需要交互输入回车,Yes/NO Y/N
最近写自动安装脚本遇到redis-server安装的时候,需要输入3个回车,对此尝试无果,最后google比较满意的解决办法: shell 脚本需要交互,比如输入回车,输入YES/NO Y/N之类进行 ...
- Linux Shell 脚本
1. 写一个脚本,利用循环计算10的阶乘#!/bin/shfactorial=1for a in `seq 1 10`do factorial=`expr $factorial \* $a ...
- Linux Shell——流程控制
1. 创建交互式脚本 使用 echo命令的选项 关于各种命令的使用,可以使用man 命令来查看命令的详细用法介绍.例如,我想看下 echo 的用法和各种选项.可以执行 man echo.执行结果如下: ...
- Java文件操作API功能与Windows DOS命令和Linux Shell 命令类比
Java文件操作API功能与Windows DOS命令和Linux Shell 命令类比: Unix/Linux (Bash) Windows(MS-DOS) Java 进入目录 cd cd - 创建 ...
随机推荐
- jmeter安装配置教程
1.下载Jmeter 下载地址:http://jmeter.apache.org/download_jmeter.cgi 目前最新版为3.1,其余文件如源代码等也可从如下官网下载: http://jm ...
- git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode.
git 提交代码是会遇到以下问题, git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode. If ...
- Ref和Out参数的区别(转帖)
首先,如果不使用这两个关键字,那是什么样 呢? 看下面的例子: using System; class Test { static void Swap(ref int x, ref int ...
- mysql时间格式化,按时间段查询的MySQL语句
描述:有一个会员表,有个birthday字段,值为'YYYY-MM-DD'格式,现在要查询一个时间段内过生日的会员,比如'06-03'到'07-08'这个时间段内所有过生日的会员. SQL语句: Se ...
- idea转eclipse 设置注意。
下载适合的eclipse
- Dev统计选中行、如需其他数据源可留言
Clipboard.Clear(); Dictionary<string, decimal> dtary = new Dictionary<string, decimal>() ...
- 在执行Java命令或eclipse启动程序,提示报错’jvm.cfg无法找到’的解决办法
一.问题背景 昨天debug代码的时候,突然发现无法启动程序了.每次启动程序的时候均报如下错误:(回家以后重现了下这个问题.发现不同电脑,所在的lib下的文件夹不一样,应该和jdk安装时硬件的情况有关 ...
- 用node.js给图片加水印
一.准备工作: 首先,确保你本地已经安装好了node环境.然后,我们进行图像编辑操作需要用到一个Node.js的库:images.这个库的地址是:https://github.com/zhangyua ...
- ASP.NET Repeater嵌套Repeater实现菜单加载
在KS系统中要实现从数据库中读取界面权限文件实现菜单.界面的动态加载. 效果图: ASP.NET界面代码 <div id="menu-container"> <a ...
- Selenium Chrome浏览器的启动以及proxy设置
Selenium Chrome浏览器的启动以及proxy设置 虽然WebDriver对Firefox的支持最好,之前写的脚本也都在Firefox浏览器运行,但最近项目做了整合,发现新整合的功能不太 ...