linux获取键盘值命令 linux 获取键盘键值

如何使用linux read命令Linux中的read命令从标准输入中读取一行,并把输入行的每个字段的值指定给shell变量 。
语法:
read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p
prompt] [-t timeout] [-u fd] [name ...]
参数:
-a 后跟一个变量,该变量会被认为是个数组 , 然后给其赋值,默认是以空格为分隔符 。
-d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志 。
-p 后面跟提示信息,即在输入前打印提示信息 。
-e 在输入的时候可以使用命令补全功能 。
-n 后跟一个数字,定义输入文本的长度,很实用 。
-r 屏蔽\ , 如果没有该选项,则\作为一个转义字符,有的话\就是个正常的字符了 。
-s 安静模式,在输入字符时不再屏幕上显示 , 例如login时输入密码 。
-t 后面跟秒数,定义输入字符的等待时间 。
-u 后面跟fd,从文件描述符中读入 , 该文件描述符可以是exec新开启的 。
说明
read内部命令被用来从标准输入读取单行数据 。这个命令可以用来读取键盘输入,当使用重定向的时候 , 可以读取文件中的一行数据 。
求Linux中从键盘获取两个数字num1和num2,判断两个数字逻辑关系(大于,小于,等于)的命令#include stdio.h
int main(void){
int num1, num2;
printf("Please limit the numerical range to -2167483648 - 2167483647 ,to avoid truncation\n" );
printf("Please input num1: ");
if(scanf("%d", num1) != 1){
printf("Input Error !\n");
return -1;
}
printf("Please input num2: ");
if(scanf("%d", num2) != 1){
printf("Input Error !\n");
return -1;
}
if(num1num2)
printf("num1num2\n");
else if(num1num2)
printf("num1num2\n");
else
printf("num1 = num2\n");
return 0;
}
上面是lgc.c 源代码
gcc编译生成lgc文件linux获取键盘值命令 , 然后看系统PATH变量把lgc复制到其中一个目录中linux获取键盘值命令,然后就可以直接像使用linux命令一样使用lgc了
Linux 命令 read (文件管理)——想玩转linux就请一直看下去Linux read命令用于从标准输入读取数值 。
read 内部命令被用来从标准输入读取单行数据 。这个命令可以用来读取键盘输入,当使用重定向的时候 , 可以读取文件中的一行数据 。
参数说明:
1、简单读取
测试结果为:
2、-p 参数 , 允许在 read 命令行中直接指定一个提示 。
测试结果为:
3、-t 参数指定 read 命令等待输入的秒数,当计时满时,read命令返回一个非零退出状态 。
执行程序不输入 , 等待 5 秒后:
4、除了输入时间计时 , 还可以使用-n参数设置read命令计数输入的字符 。当输入的字符数目达到预定数目时,自动退出,并将输入的数据赋值给变量 。
该例子使用了-n 选项,后接数值 1 , 指示 read 命令只要接受到一个字符就退出 。只要按下一个字符进行回答,read 命令立即接受输入并将其传给变量,无需按回车键 。
只接收 2 个输入就退出:
执行程序输入两个字符:
5、-s选项能够使read命令中输入的数据不显示在命令终端上(实际上,数据是显示的,只是read命令将文本颜色设置成与背景相同的颜色) 。输入密码常用这个选项 。
执行程序输入密码后是不显示的:
6.读取文件
每次调用 read 命令都会读取文件中的 "一行" 文本 。当文件没有可读的行时 , read 命令将以非零状态退出 。
通过什么样的方法将文件中的数据传给 read 呢?使用 cat 命令并通过管道将结果直接传送给包含 read 命令的 while 命令 。

推荐阅读