linux的shell键盘输入,linux shell获取键盘输入
linux shell从键盘获取输入
代码1:
#!/bin/bash
#提示“Input your choice:”,把用户的输入保存入变量choice_user中
read -p "Input your choice:" choice_user
echo "your choice:${choice_user}"
#提示“请输入姓名”并等待30秒,把用户的输入保存入变量name中
read -t 30 -p "请输入用户名称:" name
echo -e "\n"
echo "用户名为:$name"
#提示“请输入密码”并等待30秒,把用户的输入保存入变量age中,输入内容隐藏
read -t 30 -s -p "请输入用户密码:" age
echo -e "\n"
echo "用户密码为:$age"
#提示“请输入性别”并等待30秒,把用户的输入保存入变量sex中,只接受一个字符输入
read -t 30 -n 1 -p "请输入用户性别:" sex
echo -e "\n"
echo "性别为$sex"
read命令说明:
read [选项][变量名]
选项:
Read的一些选项
Read可以带有-a,-d,-e,-n,-p,-r,-t,和 -s八个选项。
-a :将内容读入到数值中
echo -n "Input muliple values into an array:"
read -a array
echo "get ${#array[@]} values in array"
-d :表示delimiter,即定界符,一般情况下是以IFS为参数的间隔,但是通过-d,我们可以定义一直读到出现执行的字符位置。例如read –d madfds value,读到有m的字符的时候就不在继续向后读,例如输入为 hello m,有效值为“hello”,请注意m前面的空格等会被删除。这种方式可以输入多个字符串,例如定义“.”作为结符号等等。
-e :只用于互相交互的脚本,它将readline用于收集输入行。读到这几句话不太明白什么意思,先跳过。
-n :用于限定最多可以有多少字符可以作为有效读入。例如echo –n 4 value1 value2,如果我们试图输入12 34,则只有前面有效的12 3,作为输入,实际上在你输入第4个字符‘3’后,就自动结束输入。这里结果是value为12,value2为3。
-p :用于给出提示符,在前面的例子中我们使用了echo –n “…“来给出提示符,可以使用read –p ‘… my promt?’value的方式只需一个语句来表示。
-r :在参数输入中,我们可以使用’/’表示没有输入完,换行继续输入,如果我们需要行最后的’/’作为有效的字符,可以通过-r来进行。此外在输入字符中,我们希望/n这类特殊字符生效,也应采用-r选项。
-s :对于一些特殊的符号,例如箭头号,不将他们在terminal上打印,例如read –s key,我们按光标,在回车之后,如果我们要求显示,即echo,光标向上,如果不使用-s,在输入的时候,输入处显示^[[A,即在terminal上打印,之后如果要求echo,光标会上移。
-t :用于表示等待输入的时间,单位为秒,等待时间超过,将继续执行后面的脚本,注意不作为null输入,参数将保留原有的值。
总结
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
小编个人微信号 jb51ccc
喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!
linux的shell键盘输入,linux shell获取键盘输入相关推荐
- iOS键盘监听以及获取键盘高度
在文本输入时,界面会弹出键盘.有时,当文本输入框过低,被键盘遮挡,使用户无法看见输入框文本内容,这就使得用户体验过低. 所以需要我们对键盘进行监控并获取键盘高度,调节界面或文本框高度进行处理.如下图, ...
- h5如何动态获取键盘高度_动态获取键盘高度
//在遇到有输入的情况下.由于现在键盘的高度是动态变化的.中文输入与英文输入时高度不同.所以输入框的位置也要做出相应的变化 #pragma mark - keyboardHight -(void)vi ...
- python获取键盘输入_python如何获取键盘输入
python2中:raw_input函数 raw_input() 函数从标准输入读取一个行,并返回一个字符串(去掉结尾的换行符):str = raw_input("Enter your in ...
- PAT1054 求平均值 (20 分)【从非法输入字符串中获取合法输入 cin.putback()】
吐槽 题目描述的太不清晰了吧,自己写了一些测试用例,从已知中并不能看出这些输入是否合法- 我的测试用例 21 007 000.01 12. .9 -007 -000.01 -12. -.9 .9. - ...
- PyQt5 技术篇-调用输入对话框(QInputDialog)获取用户输入内容。
常用的四种输入对话框 QInputDialog.getText() # 返回字符串 QInputDialog.getInt() # 返回整数 QInputDialog.getDouble() # 返回 ...
- linux中用参数代替键盘输入,linux shell在while中用read从键盘输入的实现
系统是ubuntu 14.04 64bit,之前曾想安装stream来玩dota2,但最终没成功.由于stream只有32bit,安装stream时也安装了大量32bit的库.删除stream后,这些 ...
- linux栈溢出漏洞,PWN简单栈溢出漏洞获取shell | kTWO-个人博客
摘要 本文讲述的是PWN中利用溢出漏洞来执行shell命令的方法教程,本文将以简单的小程序来作为演示,从分析程序到编写payload加以利用,其中还含有二进制程序的保护机制简介. 0x01 前言 经过 ...
- linux获取偶数行内容,linux命令(39):shell 打印偶数行,奇数行 ,行号
awk 命令: 1. 打印行号和内容: awk '{print NR":"$0}' 2. 输出:偶数行和奇数行到文件 awk '{print $0.txt > NR%2.tx ...
- linux shell数组定义、元素获取及其长度获取
linux shell数组定义.元素获取及其长度获取
最新文章
- 大数据目标检测推理管道部署
- 表框mysql_mysql 表的操作
- 中文ocr识别数据集地址
- csdn如何自定义博客栏目
- 文巾解题1588. 所有奇数长度子数组的和
- UltraEdit 常用快捷方式
- 【Android车载系统 News | Tech 1】News 谷歌开发车载Android系统 2014-12-19
- java 复合_【福利】java新手做的复合型计算器!
- handsontable pro 授权码 key 生成器(JS函数)(仅供学习交流)
- Sharepoint学习笔记—Ribbon系列-- 5. 在Ribbon中添加新控件(针对用户自定义Tab)
- 宝可梦推出「电子鸡」新游戏 训练师赶紧将可爱伊布带回家!
- 微服务 雪崩效应 与 Hystrix 断路器使用入门
- HTML网上书店静态HTML网页作业作品 大学生三联书店网页设计制作成品 简单DIV CSS布局网站
- 中国移动宽带服务器上的光信号,中国移动光猫设置方法(常见故障及解决方法)...
- R语言学习笔记(一)
- vue-router升级3.0.0以上版本导致Uncaught(in promise) navigation guard报错问题
- 高频课设-基于STM32的温度无线监测系统
- office-word使用技巧——查找替换
- java 静态抽象类_java--抽象类实例(包含静态内部抽象类)
- 在线CRM特点?优势?简信软件在线CRM优势?
热门文章
- String 源码探究
- java.lang.Class解析
- VC++实现自定义切换按钮
- 基于Cookie的单点登录(SSO)系统介绍
- sybase 中可以对现有的表结构进行增加
- [转载] python classmethod存在的意义_@classmethod和@staticmethod对初学者的意义?
- SignalTap II里面Power-Up Trigger的使用
- 码农人生-如何快速使用从未学过的语言实现项目开发-第002期博文
- C# Task.FromResult的用法
- [svc]centos7的服务治理-systemd