Linux中的判断式
格式一:test [参数] 判断内容
格式二:[ [参数] 判断内容 ]
说明:
a.格式二可以认为是格式一的缩写
b.格式二里中括号和内容之间要有空格
基于文件的判断
-d 判断文件是否存在,并且是目录文件
-e 判断文件是否存在
-f 判断文件是否存在,并且是普通文件
-l 判断文件是否存在,并且为符号连接文件
[root@localhost temp]# test -e /etc/passwd
[root@localhost temp]# echo $?
0
[root@localhost temp]# [ -e /etc/passwd ]
[root@localhost temp]# echo $?
0
[root@localhost temp]# [ -d /root ] && echo "yes" || echo "no"
yes
基于文件权限的判断
-r 文件 判断文件是否存在,并且拥有读权限
-w 文件 判断文件是否存在,并且拥有写权限
-x 文件 判断文件是否存在,并且拥有执行权限
[root@localhost temp]# [ -r data.txt ] && echo "yes" || echo "no"
yes
两个文件之间的比较
文件1 -nt 文件2 文件1的修改时间比文件2新
文件1 -ot 文件2 文件1的修改时间比文件2晚
文件1 -ef 文件2 文件1和文件2的inode号是否一样
[root@localhost temp]# ln /xiaol/temp/data.txt /xiaol/temp/lndata.txt
[root@localhost temp]# [ /xiaol/temp/data.txt -ef /xiaol/temp/lndata.txt ] && echo "yes" || echo "no"
yes
两个整数之间的比较
用的是:-eq -ne -gt -lt -ge -le这些,就不多解释了
[root@localhost temp]# [ 23 -ge 22 ] && echo "yes" || echo "no"
yes
两个字符串之间的比较
-z 字符串 判断字符串是否为空
-n 字符串 判断支付传是否为非空
串1 == 串2 两个字符串相等
串1 != 串2 两个字符串不相等
[root@localhost temp]# a=1
[root@localhost temp]# b=2
[root@localhost temp]# [ "$a" == "$b" ] && echo "yes" || echo "no"
no
[root@localhost temp]# name=xiaol
[root@localhost temp]# [ -z "$name" ] && echo "yes" || echo "no"
no
多个判断一起执行
判断1 -a 判断2 逻辑与
判断1 -o 判断2 逻辑或
! 判断1 逻辑非
Linux中的判断式的更多相关文章
- Linux学习-善用判断式
利用 test 指令的测试功能 要检测系统上面某些文件或者是相关的属性时,利用 test 这个指令来工作真是好用得不 得了, 举例来说,我要检查 /dmtsai 是否存在时,使用: [dmtsai@s ...
- linux 中 && 及|| 判断原理
[root@linuxprobe ~]# [ $USER = root ] && echo "root" || echo "user"root[ ...
- linux bash善用判断式
1.利用 test 指令的测试功能 $ test -e hello.sh && echo "ok" || echo "no" ok 2.首先,判 ...
- 浅谈Linux中的各种锁及其基本原理
本文首发于:https://mp.weixin.qq.com/s/Ahb4QOnxvb2RpCJ3o7RNwg 微信公众号:后端技术指南针 0.概述 通过本文将了解到如下内容: Linux系统的并行性 ...
- Linux中的各种锁及其基本原理
Linux中的各种锁及其基本原理 1.概述 通过本文将了解到如下内容: Linux系统的并行性特征 互斥和同步机制 Linux中常用锁的基本特性 互斥锁和条件变量 2.Linux的并行性特征 Linu ...
- linux中判断一个命令是否执行成功
每一条基本命令执行后都有一个返回码,该返回码是用$?表示,执行成功的返回码是0,例如:if [ $? -ne 0 ];then 上一命令执行失败时的操作else 上一命令执行成功时的操作fi例如lin ...
- Linux学习十八之、善用判断式
原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts_3.php 善用判断式 在第十一章中,我们提到过 $? 这个变量所 ...
- Linux程序开发中如何判断目录是否为根目录?
问题引入 判断某个目录字符串是否是根目录,咋一听很简单,只要判断字符串是否是"/"即可,但是,很多情况下使用的路径是相对路径,那么如何判断相对路径是根目录呢? 思路分析 熟悉Lin ...
- 聊聊 Linux 中的五种 IO 模型
本文转载自: http://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666538919&idx=1&sn=6013c451 ...
随机推荐
- 8.1.3 在BroadcastReceiver中启动Service
2010-06-21 16:57 李宁 中国水利水电出版社 字号:T | T <Android/OPhone开发完全讲义>第8章Android服务,本章主要介绍了Android系统 中的服 ...
- tony_LVS DR模式 RealServer 为 Windows客户端配置
LVS DR模式 Windows 2000,Windows2003客户端配置 控制面板-添加硬件-选“是,我已经连接了此设备”点击下一步-在列表中选择添加新的硬件设备-选“安 装我充从手 ...
- 图片扩展---基于opencv-python实现
目标: 将一张长方形图片扩展成一张正方形图片,例如: 200x300x3的一张图片扩展成一张300x300x3的图片,填充部分使用白色. 代码: import cv2 import os imglis ...
- 前端模块化和AMD、CMD规范
前端模块化和AMD.CMD规范 先看下基础:https://github.com/seajs/seajs/issues/547
- verilog语法注意部分
l generate语句 Verilog-2001添加了generate循环,允许产生module和primitive的多个实例化,同时也可以产生多个variable,net,task,functio ...
- C语言基础(19)-结构体,联合体,枚举和typedef
一.结构体 1.1 结构体struct定义及初始化 #include <stdio.h> // 这个头文件在系统目录下 #include <stdlib.h> // 使用了sy ...
- 521. Longest Uncommon Subsequence I【easy】
521. Longest Uncommon Subsequence I[easy] Given a group of two strings, you need to find the longest ...
- C++避免内存泄漏的一种技巧
C++ Primer 4th中在section 13.5中的U_Ptr就是一种实用的例子 通过计数的方式,并提供自己的抽象类型的Pointer,从而实现内存管理.在一定的范围内还是非常有效的,比如说在 ...
- iOS开发密码输入数字和字母混合
#import "TestInPut.h" @implementation TestInPut +(BOOL)judgePassWordLegal:(NSString *)pass ...
- Perl/C#连接Oracle/SQL Server和简单操作
连接数据库是一个很常见也很必须的操作.先将我用到的总结一下. 1. Perl 连接数据库 Perl 连接数据库的思路都是: 1)使用DBI模块: 2)创建数据库连接句柄dbh: 3)利用dbh创建语句 ...