shell脚本中if的“-e,-d,-f”

摘要:
整数变量表达式-eq等于-ne不等于-gt大于-ge大于等于-lt小于-le小于等于字符串变量表达式If[$a=$b]如果string1等于string2,则为真字符串允许使用赋值号做等号if[$string1!=$string2]如果string1不等于string2,则为真if[-n$string]如果string非空(非0),返回0if[-z$string]如果string为空,则为真if[$sting]如果string非空,返回0逻辑非!

文件表达式
-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真
-w filename 如果 filename可写,则为真
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
整数变量表达式
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于
字符串变量表达式
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 ]

实例:

shell脚本中if的“-e,-d,-f”第1张shell脚本中if的“-e,-d,-f”第2张
#!/bin/bash
#if [ -d x.txt ]
if [ -d ]
then
    cd toolchain; 
    ls *.patch |sort 
    #FILES=$$(ls *.patch |sort); 
    echo "ok"
else
    echo "nok"
fi
View Code

每日一言:善学者尽其理,善行者究其难 ---荀子

参考文档:https://blog.csdn.net/superbfly/article/details/49274889

免责声明:文章转载自《shell脚本中if的“-e,-d,-f”》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇RabbitMQ面试题JSONP原理解析下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android下得到APK包含信息

很多情况下,我们需要通过APK文件来得到它的一些信息。 (此时此APK不一定被安装了) 0. 基础知识:可以通过android.content.Context的方法 getPackageManager()得到一个PackageManager实例。PackageManager有一个方法:PackageInfo getPackageArchiveInfo (S...

js原型链hook

比如我们想对对字符串进行split() 我们可以这么写 String.prototype.split_bk=String.prototype.split; String.prototype.split = function(val){ str = this.toString() debugger; return str.spilt_bk(val) } 最...

android读取Resources中内容

android中资源是只读的,不可写。 下面我们来读取Assets目录和res/raw目录下的文本文件到TextView中,首先要做的就是将文件放入到这两个文件夹里 在activity_main.xml中放入两个TextView来显示文本内容 <LinearLayout xmlns:android="http://schemas.android.c...

Yum -y update 报错

问题描述: 操作系统:CentOS 6.5 今天服务器上执行 yum -y update 命令时,提示: Running rpm_check_debug ERROR with rpm_check_debug vs depsolve libasound.so.2()(64bit) is needed by qemu-kvm-2:0.12.1.2-2....

XmlDocument的应用创建Xml模板

 protected void btnCreate_Click(object sender, EventArgs e)        {            //定义XMLDocument            XmlDocument xmlDocument = new XmlDocument();            //定义XML文档头文件   ...

Java 设计模式六原则及23中常用设计模式

一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访...