概述:read命令 -n(不换行) -p(提示语句) -n(字符个数) -t(等待时间) -s(不回显) 1、基本读取read命令接收标准输入(键盘)的输入,或其他文件描述符的输入(后面在说)。得到输入后,read命令将数据放入一个标准变量中。下面是read命令的最简单形式::#!/bin/bashecho -n "Enter your name:"   //参数-n的作用是不换行,echo默认是换行

read  name                   //从键盘输入echo "hello $name,welcome to my program"     //显示信息

exit 0                       //退出shell程序。//********************************

由于read命令提供了-p参数,允许在read命令行中直接指定一个提示。所以上面的脚本可以简写成下面的脚本::#!/bin/bashread -p "Enter your name:" nameecho "hello $name, welcome to my program"exit 0在上面read后面的变量只有name一个,也可以有多个,这时如果输入多个数据,则第一个数据给第一个变量,第二个数据给第二个变量,如果输入数据个数过多,则最后所有的值都给第一个变量。如果太少输入不会结束。//*****************************************

在read命令行中也可以不指定变量.如果不指定变量,那么read命令会将接收到的数据放置在环境变量REPLY中。例如::read -p "Enter a number"环境变量REPLY中包含输入的所有数据,可以像使用其他变量一样在shell脚本中使用环境变量REPLY.2、计时输入.使用read命令存在着潜在危险。脚本很可能会停下来一直等待用户的输入。如果无论是否输入数据脚本都必须继续执行,那么可以使用-t选项指定一个计时器。-t选项指定read命令等待输入的秒数。当计时满时,read命令返回一个非零退出状态;#!/bin/bashif read -t 5 -p "please enter your name:" namethen echo "hello $name ,welcome to my script"elseecho "sorry,too slow"fiexit 0除了输入时间计时,还可以设置read命令计数输入的字符。当输入的字符数目达到预定数目时,自动退出,并将输入的数据赋值给变量。#!/bin/bashread -n1 -p "Do you want to continue [Y/N]?" answercase $answer inY | y)echo "fine ,continue";;N | n)echo "ok,good bye";;*)echo "error choice";;esacexit 0该例子使用了-n选项,后接数值1,指示read命令只要接受到一个字符就退出。只要按下一个字符进行回答,read命令立即接受输入并将其传给变量。无需按回车键。3、默读(输入不显示在监视器上)有时会需要脚本用户输入,但不希望输入的数据显示在监视器上。典型的例子就是输入密码,当然还有很多其他需要隐藏的数据。-s选项能够使read命令中输入的数据不显示在监视器上(实际上,数据是显示的,只是read命令将文本颜色设置成与背景相同的颜色)。#!/bin/bashread  -s  -p "Enter your password:" passecho "your password is $pass"exit 0 4、读文件最后,还可以使用read命令读取Linux系统上的文件。每次调用read命令都会读取文件中的"一行"文本。当文件没有可读的行时,read命令将以非零状态退出。读取文件的关键是如何将文本中的数据传送给read命令。最常用的方法是对文件使用cat命令并通过管道将结果直接传送给包含read命令的while命令例子::#!/bin/bashcount=1    //赋值语句,不加空格cat test | while read line        //cat 命令的输出作为read命令的输入,read读到的值放在line中doecho "Line $count:$line"count=$[ $count + 1 ]          //注意中括号中的空格。doneecho "finish"exit 0

Linux shell编程中read参数说明相关推荐

  1. linux简单重定向代码,Linux Shell编程(26)——代码块重定向

    像 while, until, 和 for 循环代码块, 甚至 if/then 测试结构的代码块都能做到标准输入的重定向. 即使函数也可以使用这种重定向的格式 .所有的这些依靠代码块结尾的 < ...

  2. linux怎么退出shell编程,Linux Shell编程(11)——退出和退出状态

    exit命令一般用于结束一个脚本,就像C语言的exit一样.它也能返回一个值给父进程. 每一个命令都能返回一个退出状态(有时也看做返回状态).一个命令执行成功返回0,一个执行不成功的命令则返回一个非零 ...

  3. linux shell let命令,shell编程中的let与(())

    let与(()) 在shell编程中是可以互换的:它们在循环语句中控制变量变化非常有用: 使用let语句或者(())我们可以像C语言那样写程序~ 对于变量赋值,判断什么的不用繁琐的$VAR, -eq等 ...

  4. 【“计算机科学与技术”专业小白成长系列】Linux Shell 编程 极简教程

    Linux Shell 编程 极简教程 内容摘要 本文是 Linux Shell 编程简单入门.主要内容: Linux 简介 Shell 编程入门 Kotlin 脚本与 Shell 脚本 Linux ...

  5. 「Linux」Linux Shell 编程基础入门

    Linux Shell 编程基础入门 1. 变量 1.1 变量定义 1.2 使用变量 1.3 引号 1.4 将命令的结果赋值给变量 1.5 位置参数 1.6 特殊变量及其含义 2. 字符串 2.1 字 ...

  6. Linux Shell编程基础

    linux系统下给命令指定别名alias命令用法: 在linux系统中如果命令太长又不符合用户的习惯,那么我们可以为它指定一个别名.虽然可以为命令建立"链接"解决长文件名的问题,但 ...

  7. Linux Shell 编程学习总结

    Shell 教程 Shell简介:什么是Shell,Shell命令的两种执行方式 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成 ...

  8. linux实验三shell程序设计,实验三 LINUX SHELL编程

    精选文库 -实验三LINUX SHELL 编程 四.实验内容 本实验包含两个具体的SHELL程序编写任务,较为全面地涉及了SHELL 程序的设计方法和技术.内容如下: 1.创建以下菜单程序: USER ...

  9. linux —— shell 编程(文本处理)

    导读 本文为博文 linux -- shell 编程(整体框架与基础笔记)的第4小点的拓展.(本文所有语句的测试均在 Ubuntu 16.04 LTS 上进行) 目录 基本文本处理 流编辑器sed a ...

最新文章

  1. 什么是码元计算机通信
  2. c语言中仅分号,问什么C程序里总是提示缺少分号;,而明明有分号?
  3. 全球及中国工业金刚石微米粉行业十四五规划研究与发展战略分析报告2021年版
  4. Excel中vlookup函数的使用方法
  5. 与其感慨路难行,不如马上出发
  6. 【JS 逆向百例】X球投资者社区 cookie 参数 acw_sc__v2 加密分析
  7. MySQL锁系统总结
  8. 关于映射的一些理解与常见命题
  9. 数据结构之查找-顺序查找,折半查找,分块查找
  10. 离线手动更新卡巴斯基
  11. java毕业设计源码介绍 基于SSM美好生活九宫格日志网日记网站
  12. 查看英伟达NVIDIA显卡型号
  13. 【产品】什么是虚位密码及其用途
  14. 小程序内配置公众号关注组件
  15. 分析 | 高通骁龙845已发布,明年智能手机会变成什么样
  16. MySQL下载、安装(这里是免装版)、配置与删除
  17. css--盒子的尺寸
  18. 网站丨这四个网站好像有点好玩
  19. golang单元测试:testing包的基本使用
  20. Typora入门教程

热门文章

  1. 百万年薪挖了个P7程序员,难道是“水货”?
  2. python3+telnetlib实现简单自动测试
  3. 机器学习实战——Logistic回归
  4. win10安装ubuntu子系统,然后安装python3.6
  5. java版本号分段比较_java 实现比较版本号功能
  6. c语言程序填空z=7,x=4,《C语言程序设计》复习题有答案
  7. using matlab drawing line graph for latex
  8. 爱情测试MySQL存储_性能测试四十:Mysql存储过程造数据
  9. Python进程间通信之管道Pipe
  10. scala打印服务器消息,Spark中使用Scala实现WordCount业务