shell编程-read命令if语法case语法实战

Posted 栗子~~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程-read命令if语法case语法实战相关的知识,希望对你有一定的参考价值。

文章目录

前言

  如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。
  而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!!


shell编程-read命令、if语法、case语法实战

在这里我们使用read命令来辅助测试。

01 read命令

官方解释:
接收键盘或其它文件描述符的输入。read 命令接收标准输入(键盘)的输入,或者其他文件描述符的输入。得到输入后,read 命令将数据放入一个标准变量中。
命令格式
read [选项] [变量名]
选项:

选项含义
-p“提示信息”:在等待read输入时,输出提示信息
-t秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间
-n字符数:read命令只接收指定的字符数就会执行
-s隐藏输入的数据,适用于机密信息的输入

变量名可以自定义。如果不指定变量名,则会把输入保存到默认变量REPLY中;
如果只提供了一个变量名,则将整个输入行赋予该变量;
如果提供了一个以上的变量名,则输入行分为若干字,一个接一个地赋予各个变量,而命令行上的最后一个变量取得剩余的所有字;
举例:

#提示:请在30s内输入参数 并把输入赋值给var
read -t 30 -p "please input your param:" var

02 if 语法实战

实例:

#!/bin/bash

read -t 30 -p "please input your param:" var
if [ $var -eq 1 ]
then
  echo "true"
else
  echo "false"
fi

或者

#!/bin/bash

read -t 30 -p "please input your param:" var
if test $var -eq 1
then
  echo "true"
else
  echo "false"
fi

其中:
if test $var -eq 1 等同于 if [ $var -eq 1 ],
不过使用if [ $var -eq 1 ]的时候,记得[]左右加空格,格式if空格[空格表达式空格]

测试:

02 case语法实战

强调:注意格式、注意格式、注意格式,重要的事情说三遍
实例:

#!/bin/bash

read -t 30 -p "please input your param:" var
case $var in
"linux")
  echo "linux"
  ;;
"java")
  echo "java"
  ;;
*)
  echo "other"
  ;;
esac

运行效果:

以上是关于shell编程-read命令if语法case语法实战的主要内容,如果未能解决你的问题,请参考以下文章

Shell编程之case语句与循环语句

Shell语法规范

linux12shell编程 -->流程控制之case

shell脚本编程学习笔记-case语句

Shell编程Shell中for循环while循环until循环语句

Shell编程Shell中for循环while循环until循环语句