linux命令中bash常用的条件测试:整数测试eq,文件测试-e,字符串测试==,组合测试

简介:

测试方法:expression: 表达,表示

[ expression ]

` expression `

test expression 

bash中常用的条件测试有三种:

 1、整数测试:

     -eq 等于

     -lt 小于

     -ne 不等于

     -gt 大于

     -le 小于等于

     -ge 大于等于

integer:整数

     INTEGER1=63     INTEGER2=77

    [ $INTEGER1 -eq $INTEGER2 ] 

   [[ $INTEGER1 -eq $INTEGER2 ]]

   test $INTEGER1 -eq $INTEGER2


 2、文件测试:

  -e file: 测试文件是否存在

  -f file: 测试文件是否为普通文件

  -d file: 测试指定路径是否为目录

  -r file: 测试当前用户对该指定文件是否有读取权限

  -w file: 测试当前用户对该指定文件是否有写权限

  -x file: 测试当前用户对该指定文件是否有执行权限

 

  [ -e file ] 测试file文件是否存在

  ` -e file ` 测试file文件是否存在

 

  测试脚本是否有语法错误:

     bash -n 脚本

     bash -x 脚本:单步执行脚本

 

 3、字符串测试:

  ==:测试是否相等,相等为真,不等为假 ==左右两边必须有空格

  !=: 测试是否不等,不等为真,等为假 (左右两侧需有空格)

  > :测试字符串大于 >= 大于等于

  < :测试字符串小于 <= 小于等于

  -z string: 测试指定字符串是否为空,空则真,不空则假

  -n string: 测试指定字符串是否不空,不空为真,空则为假


  4、组合测试条件

       -a: 与关系

       -o: 或关系

       !: 非关系      

if [ $# -gt 1 -a $# -le 3 ]

if [ $# -gt 1 ] && [ $# -le 3 ]


 

 练习:写一个脚本

1、传递一个参数(单字符就行)给脚本,如参数q、Q、quit或Quit ,

   就退出脚本;否则,就显示用户的参数。

#!/bin/bash

#program:

#传递一个参数给脚本,判断该参数的状态

#history time 2016-10-21-10:55

PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

export PATH


if [ $# -lt 1 ]; then

    echo "this is empty symbol."

    exit 10

fi

if [ $1 == q ]; then

   echo "this is $1 symbol"

  elif [ $1 == Q ]; then

   echo "this is $1 symbol"

  elif [ $1 == quit ]; then

   echo "this is $1 symbol" 

 elif [ $1 == Quit ]; then

   echo "this is $1 symbol"

   else

    echo "$1"

  fi
2、传递三个参数给脚本,第一个为整数,第二个未算术运算符,第三个为整数,

将计算结果显示出来,要求保留两位精度。

 

 #!/bin/bash

  2 #program:

  3 # 计算2个整数的算术运算

  4 #history time=2016-10-21-13:40

  5   PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bash

  6   export PATH

  7 

  8   RESULT=`echo "scale=2;$1 $2 $3;" |bc`

  9   echo "$1$2$3 is $RESULT"












本文转自wang650108151CTO博客,原文链接: http://blog.51cto.com/woyaoxuelinux/1863899,如需转载请自行联系原作者

相关文章
|
2天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
1天前
|
Linux 数据安全/隐私保护
Linux常用命令实例带注释
Linux常用命令实例带注释
13 0
|
1天前
|
Linux 开发工具 数据安全/隐私保护
Linux(19)常用解压命令记录
Linux(19)常用解压命令记录
6 0
|
2天前
|
Linux Perl
Linux系统替换字符串常用命令
请注意,`sed`命令可以非常强大,可以根据不同的需求使用不同的选项和正则表达式来进行更复杂的字符串替换操作。
16 0
|
5天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
12 0
|
6天前
|
域名解析 网络协议 Linux
Linux 中的 Nslookup 命令怎么使用?
【4月更文挑战第12天】
25 6
Linux 中的 Nslookup 命令怎么使用?
|
7天前
|
运维 网络协议 Unix
18.系统知识-Linux常用命令
18.系统知识-Linux常用命令
|
8天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
8天前
|
Linux Go
Linux命令Top 100驱动人生! 面试必备
探索Linux命令不再迷茫!本文分10部分详解20个基础命令,带你由浅入深掌握文件、目录管理和文本处理。 [1]: <https://cloud.tencent.com/developer/article/2396114> [2]: <https://pan.quark.cn/s/865a0bbd5720> [3]: <https://yv4kfv1n3j.feishu.cn/docx/MRyxdaqz8ow5RjxyL1ucrvOYnnH>
63 0
|
11天前
|
缓存 运维 监控
Linux系统监控利器:探索常用命令及数据保存技巧
Linux系统监控利器:探索常用命令及数据保存技巧
29 4
Linux系统监控利器:探索常用命令及数据保存技巧