shell (7)if 表达式】的更多相关文章

conditional expressions are used by the [[ compound command and the test and [ builtin commands. arithmetic expression 共有三个 [[,test,[ Shell中[和[[的异同 test判断方式: [ ] 不支持Shell中提供的各种通配符状态判断的方式:[[ expr ]],和test不同的是,该方式中的表达式支持通配符,在[[ expression ]]中,expressio…
Shell 逻辑运算符涉及以下几种类型,只要适当选择,可以解决我们很多复杂的判断,达到事半功倍效果. 一.逻辑判断1.关于文件与目录的逻辑判断-f 常用.判断『文件』是否为普通文件,比如: if [ -f filename ]-d 常用.判断『目录』是否存在-b 判断是否为一个『 block 文件』-c 判断是否为一个『 character 文件』-S 判断是否为一个『 socket 标签文件』-L 判断是否为一个『 symbolic link 的文件』-e 判断『文件』是否存在 2.关于程序的…
查看系统的shell: cat /etc/shells 文件测试表达式: -f 文件  文件存在且为普通文件则真,即测试表达式成立. -d 文件  文件存在且为目录文件则真,即测试表达式成立. -s 文件  文件存在且文件大小不为0则真,即测试表达式成立. -e 文件  文件存在则真,即测试表达式成立.只要有文件就行,要区别 -f . -r 文件  文件存在且可读则真,即测试表达式成立. -w 文件 文件存在且可写则真,即测试表达式成立. -x 文件  文件存在且可执行则真,即测试表达式成立.…
#!/bin/bash #你值得收藏的四则表达式运算. val1=1 val2=1 val3=1 val4=1 val5=1 val6=1 val7=1 let val1++ ((val2++)) val3=$(($val3+1)) val4=`expr $val4 + 1 ` val5=`bc<<<$val5+1` val6=`echo "$val6+1"|bc` val7=$[ $val7+1 ] echo 'val1=' $val1 echo 'val2=' $…
shell中条件测试的三种格式: 格式1: test 条件表达式格式2: [ 条件表达式 ]格式3: [[ 条件表达式 ]] 使用test: [root@host- ~]# test -f file && echo true || echo false false [root@host- ~]# touch file [root@host- ~]# test -f file && echo true || echo false true [root@host- ~]# ma…
一. 运算符总结说明 1. 条件运算符 运算符号 代表意义 应用 说明 = 等于 整型或字符串比较: str1 = str2 字符串str1 和字符串str2 相等时返回真,如果在[]中,只能是字符串 == 等于 整型或字符串比较: str1 == str2 字符串str1 和字符串str2 相等时返回真,如果在[]中,只能是字符串 != 不等于 整型或字符串比较: str1 != str2 字符串str1和字符串str2不相等时返回真,如果在[]中,只能是字符串 < 小于 整型或字符串比较:…
#!/bin/bash #你值得收藏的四则表达式运算. val1=1 val2=1 val3=1 val4=1 val5=1 val6=1 val7=1 let val1++ ((val2++)) val3=$(($val3+1)) val4=`expr $val4 + 1 ` val5=`bc<<<$val5+1` val6=`echo "$val6+1"|bc` val7=$[ $val7+1 ] echo 'val1=' $val1 echo 'val2=' $…
在 bash 的操作环境中还有一个非常有用的功能,那就是通配符 (wildcard) ! 我们利用 bash 处理数据就更方便了!底下我们列出一些常用的通配符喔: 符号 意义 * 代表『 0 个到无穷多个』任意字符 ? 代表『一定有一个』任意字符 [ ] 同样代表『一定有一个在括号内』的字符(非任意字符).例如 [abcd] 代表『一定有一个字符, 可能是 a, b, c, d 这四个任何一个』 [ - ] 若有减号在中括号内时,代表『在编码顺序内的所有字符』.例如 [0-9] 代表 0 到 9…
#!/bin/bash # 读取一个算数表达式并计算出结果 # 如果输入 # 5+50*3/20 + (19*2)/7 # 则结果为 # 17.929 read x printf "%.3f\n" $(echo "scal=5;"$x |bc -l)…
首先声明:本人是传智播客的粉丝,拥有他出的多本编程书籍,此文绝无诋毁抹黑之意. 但在linux系统编程第88页给出的while循环范例中,代码运行无法得到预期结果 原代码如下 #!/bin/sh sum= count= ] do sum='expr $sum+$count' count='expr $count + 1' done echo "sum=$sum" exit 0 书中给出的结果是5050,显然这是一个从1循环到100的加运算 but 事实很打脸,运行后始终提示: 修改后的…