shell算术运算和文件测试及多分支if语句

shell算术运算

1、let 算术运算表达式

例如:let C=$A+$B

2、$[ 算术表达式 ]

例如:中括号和表达式之间必须有空格

3、$((算术表达式))

例如:

4、expr 算术表达式

例如:表达式要用反引号,运算符之间要有空格

shell中的条件测试类型

整数测试

-eq等于
-ne不等于
-gt大于
-lt小于
-ge大于等于
-le小于等于

例如:
判断当前系统是否有默认用户的shell是bash,如果有,显示其中的一个用户名,如果没有,就显示没有此用户

字符测试

文件测试

-e file(文件路径) :测试文件是否存在
-f file:测试文件是否为普通文件
-d file: 测试指定路径是否为目录
-r file:测试指定文件对当前用户来讲,是否有可读权限
-w file:测试指定文件对当前用户来讲,是否有可写权限
-x file:测试指定文件对当前用户来讲,是否有可执行权限

给定一个路径,如果有此文件,就显示该文件的行数,否则,就显示该文件不存在

shell中的判断语句

单分支结构

双分支结构

多分支结构

原文地址:http://blog.51cto.com/11193863/2316580

时间: 2024-10-28 16:26:17

shell算术运算和文件测试及多分支if语句的相关文章

(转)shell脚本之文件测试操作符及整数比较符

shell脚本之文件测试操作符及整数比较符 原文:http://www.cnblogs.com/Steward-Xu/p/6722592.html 一.文件测试操作符: 在书写测试表达式是,可以使用一下的文件测试操作符. 更多的参数可以help test或者man bash 二.字符串测试操作符: 字符串测试操作符的作用:比较两个字符串是否相同.字符长度是否为0,字符串是否为null(注:bash区分长度字符串和空字符串) "="比较两个字符串是否相同,与"=="等

shell编程之文件测试及if多分支语句

文件测试用法: -e :判断文件是否存在,如果不存在返回的状态为假 -f :判断文件是否为普通文件 -d :判断是否为目录 -x :判断当前用户是否可执行此文件 -w :判断当前用户是否可写此文件 -r :判断当前用户是否可读此文件 如 [ -e /etc/inittab ] if多分支语句 if 条件一 :then 执行语句 elif 条件二 :then 执行语句 ... else 执行语句 fi 写一个脚本,给定一个文件:如果是一个普通文件,就打印this is file.:如果是一个目录就

linux shell 学习笔记--文件测试符

1. 文件测试操作 ---------------- 返回true 如果... -e 文件存在 -a 文件存在 这个选项的效果与-e 相同.但是它已经被弃用了,并且不鼓励使用 -f file 是一个regular 文件(不是目录或者设备文件) -s 文件长度不为0 -d 文件是个目录 -b 文件是个块设备(软盘,cdrom 等等) -c 文件是个字符设备(键盘,modem,声卡等等) -p 文件是个管道 -h 文件是个符号链接 -L 文件是个符号链接 -S 文件是个socket -t 关联到一个

shell运算符之 关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符

shell运算符有很多,关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符 1,算术运算符 原声bash 不支持简单的算术运算,可以使用expr 工具 两点注意: 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样. 完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边. #!/bin/basha=10b=20rst=`expr 2 + 2`echo '2+2 =' ${rst} rst=`exp

shell之算数运算符、逻辑运算符、关系运算符、布尔运算符、文件测试运算符

注意事项: (1)bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用: (2)完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边. (3)条件表达式要放在方括号之间,变量与符号之间必须以空格隔开,命令才可以识别: (4)乘号(*)在shell中有特殊含义,作为乘法符号时,要在*前边必须加反斜杠(\)才能实现乘法运算: (5)关系运算符采用的是英文字母的缩写,等于(-eq,equal),不等于(-ne,not equ

shell编程---文件测试及特殊变量

一.算数运算 1.let 算术运算表达式 let C=$A+$B 2.$[算术运算表达式] C=$[$A+$B] 3.$((算术运算表达式)) C=$(($A+$B)) 4.expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用 C=`expr $A + $B` 5.提前结束脚本程序 exit 状态返回码 6.文件测试 -e FILE:测试文件是否存在 -f FILE: 测试文件是否为普通文件 -d FILE: 测试指定路径是否为目录 -r FILE: 测试当前用户对

Shell脚本编程算术运算和条件测试

算术运算 1.bash中的算术运算:help let +, -, *, /, %取模(取余), **(乘方) 实现算术运算: (1) let var=算术表达式 (2) var=$[算术表达式] (3) var=$((算术表达式)) (4) var=$(expr arg1 arg2 arg3 ...) (5) declare –ivar= 数值 (6) echo '算术表达式' | bc 2.乘法符号有些场景中需要转义,如* 3.bash有内建的随机数生成器: $RANDOM(0-32767)

Linux Shell 04 数字/字符串/文件测试

一. 数字测试 格式:n1  -op  n2 测试操作op: eq/ne/le/ge/lt/gt    -->    等于/不等于/小于等于/大于等于/小于/大于 1. 数字比较可以使用特殊的(())操作符,用法更接近于C语言,见数字测试. 二. 字符串测试 s1 = s2 #s1与s2是否相同 s1 != s2  #s1与s2是否不相同 s1 < s2 #s1是否小于s2 s1 > s2 #s1是否大于s2 -n s1 #s1长度是否大于0 -z s1  #s1长度是否为0 1. 字符

shell文件测试,菜单表示思想

---恢复内容开始--- 文件测试表达式    -f 文件存在且为普通文件     -d 文件存在且为目录文件    -s 文件大小不为0则真    -e 文件存在则真        -r 文件存且可读  #文件属性对于root有时不好用    -w 写    -x 执行    -L 存在且为链接文件    f1 -nt f2 f1比f2新则为真    f1 -ot f2 f1比f2旧则为真    这些操作符可用于[[]],[],test几乎通用,更多操作符查看man test.