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 ...
随机推荐
- POJ 3278: Catch That Cow
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 44613 Accepted: 13946 ...
- JavaScript-2.4 改进的Hello程序,使用div,---ShinePans
<html> <head> <meta http-equiv="content-type" content="text/html;chars ...
- centos下nginx启动脚本和chkconfig管理
在安装完nginx后,重新启动需要“kill -HUP nginx进程编号”来进行重新加载,显然十分不方便.如果能像apache一样,直接通过脚本进行管理就方便多了. nginx官方早就想好了,也提供 ...
- eclipse进行远程调试教程,轻松搞定生产环境问题
首先你本地Eclipse上要有和部署在远程服务器一至的项目,否则debug的时候会出现代码行错位,难以达到debug的效果.例如:如果你本地的代 码加了行,修改了,或减了一行.而远程服务器上的项目没有 ...
- android proguard 保留内部类
今天在使用Proguard keep一个 静态内部类的时候,混淆完之后一直找不到那个静态内部类,内心抓狂啊. 最后在stackoverflow上找到了答案: -keepattributes Excep ...
- python-class(5)
#!/usr/bin/env python #-*- coding:utf-8 -*- ############################ #File Name: class5.py #Auth ...
- ext2文件系统了解
一个磁盘可以划分成多个分区,每个分区必须先用格式化工具(例如mkfs命令)格式化成某种格式的文件系统,然后才能存储文件,格式化的过程会在磁盘上写一些管理存储布局的信息.下以ext2文件系统为例说明文件 ...
- JavaScript-4.5 事件大全,事件监听---ShinePans
绑定事件 <input type="bubtton" onclick="javascript:alert('I am clicked');"> 处理 ...
- Hbuilder MUI 注册短信验证60秒后重新发送
<div class="mui-input-row"> <label class="iconfont_log_reg icon-youjian" ...
- 第一百九十四节,jQuery EasyUI,Droppable(放置)组件
jQuery EasyUI,Droppable(放置)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Droppable(放置)组件的使用方 ...