shell 语句

Posted jack_hzm

tags:

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

注意:
1变量等号两边不能有空格
2 expr 指令必须要用转义字符‘’
3 expr里面的加减乘除必须有空格
因为脚本需要通过这些来识别语句
#!/bin/bash  
A=`expr 3 + 5 * 3`  #注意这个引号是在ESC下面的引号哦,*需要转义字符 
echo $A

B=`expr 3 / 5`
echo $B

C=`expr 3 % 5`
echo $C

  

3测试语句
     (1)test语句
    test语句可测试三种对象:
              字符串     整数     文件属性
     (2)每种测试对象都有若干测试操作符
    例如:
              test  "$answer"  =  "yes"
              变量answer的值是否为字符串yes
              test  $num –eq  18
              变量num的值是否为整数18
              test  -d  tmp    
              测试tmp是否为一个目录名
     (3) 字符串测试
     s1 = s2     测试两个字符串的内容是否完全一样
     s1 != s2    测试两个字符串的内容是否有差异
     -z s1     测试s1 字符串的长度是否为0
     -n s1     测试s1 字符串的长度是否不为0
     (4) 整数测试
     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
     (5) 文件测试
     -d name    测试name 是否为一个目录
     -e name    测试一个文件是否存在
     -f name    测试name 是否为普通文件
     -L name    测试name 是否为符号链接
     -r name    测试name 文件是否存在且为可读
     -w name    测试name 文件是否存在且为可写
     -x name    测试name 文件是否存在且为可执行
     -s name    测试name 文件是否存在且其长度不为0
     f1 -nt f2  测试文件f1 是否比文件f2 更新
     f1 -ot f2  测试文件f1 是否比文件f2 更旧

相关代码

#!/bin/bash  #注意声明 类似C语言的字符串比较函数

A="how"
B="how"
test $A = $B
echo $?

pwd
echo $?

#test ls 
#echo $?

A=`expr 3 + 5`  $不可以用echoz直接输出
echo $A
#!/bin/bash  #数据比较,类似C语言的判断预计
 
A=434
B=434
test $A -le $B
echo $?
#!/bin/bash   $文件的测试比较函数
test -d /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
echo $?


test -r /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
echo $?

test -w /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
echo $?

test -e /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
echo $?


test -f /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh   $可以直接用HOME来代替/home/linux 指令哦
echo $?

test -L /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
echo $?


test -x /home/linux/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
echo $?


test -s $HOME/HUA_QING_YUAN_JIAN/level_2/day3_shell/expr.sh 
echo $?

 

以上是关于shell 语句的主要内容,如果未能解决你的问题,请参考以下文章

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

shell 脚本 片段

vue2.0 代码功能片段

SQL Select 语句的用法

nodejs常用代码片段

[AndroidStudio]_[初级]_[配置自动完成的代码片段]