1. read 从终端输入数据赋值给变量
    read val  把读入的数据存放到val中

#!/bin/bash

echo -n "please input two number :"
read A B
echo "\$A = $A \$B = $B" #-p 输出提示信息
read -p "please input two number : " A B #-t 在设定的时间范围内输入,如果时间到达还没输入,不给变量赋值直接结束
read -t 5 -p "please input two number :" A B #-n 在设定的字符长度内容输入,如果达到字符长度,直接结束并赋值,没有没有达到,需要自己敲回车,输入是自带空格的
read -n 5 -p "please input two number :" A
echo "\$A = $A" #-s隐藏输入的内容
read -s -p "please input two number :" A B
echo "\$A = $A \$B = $B"

 

 2. expr  算术运算命令,+ - * / %

注意事项:(1)  * 号要加转译字符才能使用

       (2) 双引号使特殊符号没有了特殊意义,除了$ \ `

       (3) 单引号使特殊符号没有了特殊意义

#!/bin/bash

# 注意空格 不能多也不能少
A=`expr 10 + 20`
echo "\$A = $A" B=`expr 10 - 20`
echo "\$B = $B" # 乘号需要转译
C=`expr 10 \* 20`
echo "\$C = $C" D=`expr 180 / 20`
echo "\$D = $D" E=`expr 10 % 20`
echo "\$E = $E" # 注意 + 前后不能有空格
let F=100+2000
echo "\$F = $F" # + 左右空格随意
G=$((16+35))
echo "\$G = $G" H=$[16 +65]
echo "\$H = $H"

 运行结果:

3. test   测试整数, 字符串 , 文件

测试 字符串、整数、文件属性
(1)--字符串测试
  s1 = s2 测试两个字符串的内容是否完全一样
  s1 != s2 测试两个字符串的内容是否有差异
  -z s 测试字符串的长度是否为0
  -n s 测试字符串的长度是否不为0
(2)--整数测试
  a -eq b 测试a和b是否相等
  a -ne b 测试a和b是否不相等
  a -gt b 测试a是否大于b
  a -ge b 测试a是否大于等于b
  a -lt b 测试a是否小于b
  a -le b 测试a是否小于等于b
(3)--文件测试
  -e 测试文件是否存在
  -s 测试文件是否不为空
  -b 判断是否是一个块设备文件
  -c 判断是否是一个字符设备文件
  -d 判断是否是一个目录
  -f 判断是否是一个普通文件
  -L 判断是否是一个符号链接
  -S 判断是否是一个套接字文件
  -p 判断是否是一个管道文件

  file1 -nt file2 file1是否比file2文件的修改时间新
  file1 -ot file2 file1是否比file2文件的修改时间旧
  file1 -ef file2 两个文件的inode是否一致,可以判断是否为硬链接

shell 脚本 功能性语句 read,expr,test的更多相关文章

  1. Linux就该这么学--Shell脚本条件语句(二)

    1.for条件语句 先读取多个不同的变量值,然后逐一执行同一组命令. 从列表文件中读取主机地址,逐个测试是否在线. 从ipadds.txt中读取主机地址后赋值给HLIST变量后逐个ping列表中的主机 ...

  2. Linux就该这么学--Shell脚本条件语句(一)

    1.条件测试语句能够让Shell脚本根据实际工作灵活调整工作内容,例如判断系统的状态后执行指定的工作,或创建指定数量的用户,批量修改用户密码,这些都可以让Shell脚本通过条件测试语句完成. if条件 ...

  3. Shell脚本case语句

    case语句格式 case 变量 in PAT1) 执行语句 ;; PAT2) 执行语句 ;; *) 默认执行语句 ;; esac 使用示例: 编写一个shell脚本,通过提示用户输入信息,输出cpu ...

  4. shell脚本if语句后面的中括号[]与java的if后面的小括号不同(),实际上[左中括号相当于test命令

    四.shell 中的条件判断命令 test 和 [   test 命令可以处理 shell 脚本中的各类工作.它产生的不是一般的输出,而是可使用的退出状态.test 命令通过接受各种不同的参数,来控制 ...

  5. shell脚本判断语句和循环语句

    if判断语句 exit跳出判读语句 不加exit的结果 read -n(不换行) 判断是否输入的是数字 read age[[ $age =~ ^[0-9]+$ ]]if [ $? -ne 0 ]; t ...

  6. Linux Shell脚本编程-语句控制

    过程式编程语言bash脚本编程面向过程的编程  顺序执行:默认法则,按照顺序一条一条语句执行  选择执行:分支,条件判断,符合条件的分支予以执行  循环执行:将同一段代码反复执行有限次,所以循环必须有 ...

  7. linux shell脚本常用语句

    linux shell 指令 诸如-d, -f, -e之类的判断表达式: 文件比较运算符-e filename  如果 filename存在,则为真  [ -e /var/log/syslog ]-d ...

  8. shell脚本if语句的多种条件参数

    if语句有多种写法 [root@shell-yankerp sh]# [ -f file ] && echo "yes" || echo "no" ...

  9. Shell 编程 循环语句

    本篇主要写一些shell脚本循环语句的使用. for 循环 指定次数 #!/bin/bash for ((i=1;i<=10;i++)) do echo $i done [root@localh ...

随机推荐

  1. 6、通过Appium Desktop 实现录制功能

    1.老规矩,我们进入下面这个界面 图中红色标记1为 “top by coordinates”  按钮, 这是一种通过坐标定位元素的方式. 图中红色标记2为 “Start Recording”  按钮, ...

  2. 【POJ】1287 Networking

    题目链接:http://poj.org/problem?id=1287 题意:n个点,m条网线长度.求构成网络的最小网线长度. 题解:最小生成树裸题.套板子. 代码: #include<iost ...

  3. kibana 7.* 设置中文 汉化

    原文:kibana 7.* 设置中文 汉化 个人博客:forever121.cn kibana 一直是 日志分析 中得力的助手 由于 kibana5.* 6.* 官方并没有支持中文,需要另外下载补丁包 ...

  4. [转] js对键盘输入事件绑定到特定按钮。

    <script type="text/javascript" language="javascript"> document.onkeyup = f ...

  5. MySQL数据库 -- Navicat、pycharm连接数据库

    内容目录 1.Navicat使用 2.pycharm使用数据库 一.Navicat使用 #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表:外键 #5. 新 ...

  6. Center OS 7安装 Apollo

    声明: 每个人的情况都不一样,所以大家在看教程的时候自行斟酌,最好先扫一遍,再来根据自身情况进行操作.同时,遇到的问题也可能不尽相同,要灵活处理. 了解: Apollo是从原始ActiveMQ的基础构 ...

  7. 关于windows cmd的一些便捷应用

    在同事的指点下,我学会了一种非常方便的进入路径的方法 在windows文件夹中直接打开到要执行的文件的位置,然后在我的电脑那个路径当中输入cmd 之后,cmd的对话框会弹出来,并且显示在当前路径下,这 ...

  8. pandas 索引、选取和过滤

    Series索引的工作方式类似于NumPy数组的索引,不过Series的索引值不只是整数,如: import numpy as np import pandas as pd from pandas i ...

  9. PHP算法之最接近的三数之和

    给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 nums 中的三个整数,使得它们的和与 target 最接近.返回这三个数的和.假定每组输入只存在唯一答案. 例如,给定数 ...

  10. js排他功能示例

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...