博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell 条件判断
阅读量:5291 次
发布时间:2019-06-14

本文共 1095 字,大约阅读时间需要 3 分钟。

传统if 从句子——以条件表达式作为 if条件 

if [ 条件表达式 ] 
then 
command 
command 
command 
else 
command 
command 
fi 
   
   条件表达式 
文件表达式 
if [ -f  file ]    如果文件存在 
if [ -d ...   ]    如果目录存在 
if [ -s file  ]    如果文件存在且非空 
if [ -r file  ]    如果文件存在且可读 
if [ -w file  ]    如果文件存在且可写 
if [ -x file  ]    如果文件存在且可执行   
整数变量表达式 
if [ int1 -eq int2 ]    如果int1等于int2   
if [ int1 -ne int2 ]    如果不等于    
if [ int1 -ge int2 ]       如果>= 
if [ int1 -gt int2 ]       如果> 
if [ int1 -le int2 ]       如果<= 
if [ int1 -lt int2 ]       如果< 
   
   字符串变量表达式 
If  [ $a = $b ]                 如果string1等于string2 
                                字符串允许使用赋值号做等号 
if  [ $string1 !=  $string2 ]   如果string1不等于string2       
if  [ -n $string  ]             如果string 非空(非0),返回0(true)  
if  [ -z $string  ]             如果string 为空 
if  [ $sting ]                  如果string 非空,返回0 (和-n类似)    
逻辑非 !                   条件表达式的相反 
if [ ! 表达式 ] 
if [ ! -d $num ]                        如果不存在目录$num 
    逻辑与 –a                    条件表达式的并列 
if [ 表达式1  –a  表达式2 ] 
    逻辑或 -o                    条件表达式的或 
if [ 表达式1  –o 表达式2 ] 
   
   逻辑表达式 
    表达式与前面的=  != -d –f –x -ne -eq -lt等合用 
    逻辑符号就正常的接其他表达式,没有任何括号( ),就是并列 
if [ -z "$JHHOME" -a -d $HOME/$num ] 
    注意逻辑与-a与逻辑或-o很容易和其他字符串或文件的运算符号搞混了 
  最常见的赋值形式,赋值前对=两边的变量都进行评测 
左边测变量是否为空,右边测目录(值)是否存在(值是否有效) 
if test $num -eq 0      等价于   if [ $num –eq 0 ] 

posted on
2014-07-31 00:33 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/zlingh/p/3879657.html

你可能感兴趣的文章
安装webpack-dev-server后,npm run dev报错
查看>>
[BZOJ4567][SCOI2016]背单词(Trie+贪心)
查看>>
15软工课后作业01—15100120
查看>>
git回退到某个版本并提交
查看>>
查看oracle数据库的连接数以及用户
查看>>
简单几行js实现tab选项切换效果
查看>>
关于更改滚动条样式
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>
[转帖] Oracle 关闭自动收集统计信息
查看>>
三.野指针和free
查看>>
VIO的Bundle Adjustment推导
查看>>
activemq5.14+zookeeper3.4.9实现高可用
查看>>
asp.net FileUpload控件文件格式的判断及文件大小限制
查看>>
angular(1.5.8)
查看>>
h5的video标签支持的视频格式
查看>>
大数据没那么重要
查看>>
TCP/IP详解学习笔记(3)IP协议ARP协议和RARP协议
查看>>
简单【用户输入验证】
查看>>
学android:直接用jdk来helloworld
查看>>