linux shell 指令 诸如-d, -f, -e之类的判断表达式简介
一、文件比较运算符
1. e filename 如果 filename存在,则为真 如: [ -e /var/log/syslog ]
2. -d filename 如果 filename为目录,则为真 如: [ -d /tmp/mydir ]
3. -f filename 如果 filename为常规文件,则为真 如: [ -f /usr/bin/grep ]
4. -L filename 如果 filename为符号链接,则为真 如: [ -L /usr/bin/grep ]
5. -r filename 如果 filename可读,则为真 如: [ -r /var/log/syslog ]
6. -w filename 如果 filename可写,则为真 如: [ -w /var/mytmp.txt ]
7. -x filename 如果 filename可执行,则为真 如: [ -L /usr/bin/grep ]
8. filename1-nt filename2 如果 filename1比 filename2新,则为真 如: [
/tmp/install/etc/services -nt /etc/services ]
9. filename1-ot filename2 如果 filename1比 filename2旧,则为真 如: [
/boot/bzImage -ot arch/i386/boot/bzImage ]
二、字符串比较运算符(请注意引号的使用,这是防止空格扰乱代码的好方法)
1. -z string 如果 string长度为零,则为真 如: [ -z "$myvar" ]
2. -n string 如果 string长度非零,则为真 如: [ -n "$myvar" ]
3. string1= string2 如果 string1与 string2相同,则为真 如: ["$myvar" = "one two three"]
4. string1!= string2 如果 string1与 string2不同,则为真 如: ["$myvar" != "one two three"]
三、算术比较运算符
1. num1-eq num2 等于 如: [ 3 -eq $mynum ]
2. num1-ne num2 不等于 如: [ 3 -ne $mynum ]
3. num1-lt num2 小于 如: [ 3 -lt $mynum ]
4. num1-le num2 小于或等于 如:[ 3 -le $mynum ]
5. num1-gt num2 大于 如:[ 3 -gt $mynum ]
6. num1-ge num2 大于或等于 如: [ 3 -ge $mynum ]
四、查看磁盘、文件大小
1. df -h 查看磁盘占用情况
2、du -sm ./* 查看当前目录下文件大小,单位M
linux shell 指令 诸如-d, -f, -e之类的判断表达式简介的更多相关文章
- linux shell 指令 诸如-d, -f, -e之类的判断表达式
文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tmp/ ...
- linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行
linux shell编程,先等10秒再判断是否有进程存在,存在就再等10秒再杀了进程才运行 crontab每分钟执行一次,但5秒以上才有更新数据,有时候一分钟可能跑不完上一个进程,需要先等10秒再判 ...
- linux shell 指令搜索顺序
在linux shell 中输入一个命令,如果有多个同名指令,shell需要按照一定规则去取优先级高的一个执行,shell命令的搜索顺序为: 1.别名,使用alias创建的命令. 2.关键字,如if, ...
- Linux shell中的一个问题 ${}带正则匹配的表达式
目前在准备龙芯项目的PMON,在研究其编译过程的时候,看到一些make 语句,百思不得其解.后来在shell编程中看到一点资料,牵扯到Shell中的正则表达式.故记录下来,以备后来查阅. 问题: 在某 ...
- Linux shell指令运行的原理
shell是一种命令行解释器 对于一般用户,我们不能直接使用操作系统(kernel).而是通过 kernel的"外壳"程序,也就是所谓的shell,来与kernel沟通. 为 ...
- linux shell 指令
一.文件比较运算符 1. e filename 如果 filename存在,则为真 如: [ -e /var/log/syslog ] 2. -d filename 如果 filename为目录,则为 ...
- Linux shell命令 cp 加上-f还是提示是否覆盖
这是由于环境变量中有 allias cp='cp -i' 为了去掉这个系统自带的别名,能够使用grep -r --include="*" "alias cp" ...
- linux shell脚本常用语句
linux shell 指令 诸如-d, -f, -e之类的判断表达式: 文件比较运算符-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d ...
- linux shell脚本之-变量极速入门与进阶(1)
1,如果创建shell脚本? 使用任意文本编辑软件,一般为vim,创建.sh结尾的文件,在文件的最开头用 #!/bin/bash 注明shell的类型 如: ghostwu@dev:~/linux/s ...
随机推荐
- [PHP] 算法-数值的整数次方的PHP实现
给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 思路: 1.指数的二进制表达10^6次方 可以表示10^110(二进制) 10^100 ...
- [android] 代码注册广播接收者&利用广播调用服务的方法
利用广播调用服务里面的方法,间接的方式调用服务内部的方法,与现实中差不多,请媒体曝光 主界面里面 在界面创建的时候开启一下服务普通的startService()方法 发送一条广播出去 获取Intent ...
- 【Java每日一题】20170210
20170209问题解析请点击今日问题下方的“[Java每日一题]20170210”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; public cla ...
- mongodb与spring mvc 整合
1.pom文件添加对mongodb的倚赖 <dependency> <groupId>org.mongodb</groupId> <artifactId> ...
- Bean实例化的三种方式
1. 构造器实例化 spring容器通过bean对应的默认的构造函数来实例化bean. 2. 静态工厂方式实例化 首先创建一个静态工厂类,在类中定义一个静态方法创建实例. 静态工厂类及静态方法: pu ...
- js发送邮件确定email地址
<a href="mailto:wjl@tom.com?subject=aaa&body=11111">test</a>
- vim 的:x和:wq
vim是Unix/Linux系统最常用的编辑器之一,在保存文件时,我通常选择":wq",因为最开始学习vim的时候,就只记住了几个常用的命令:也没有细究命令的含义. 但是,最近我在 ...
- JSP使用过滤器防止SQL注入
什么是SQL注入攻击?引用百度百科的解释: sql注入_百度百科: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具 ...
- css 小知识点:inline/inline-block/line-height
inline: 此元素会被显示为内联元素,元素前后没有换行符.因此:无法设置宽度和高度- inline-block: 行内块元素.元素前后没有换行符(CSS2.1 新增的值) 用通俗的话讲,就是不独占 ...
- 2018-12-03 VS Code英汉词典插件v0.0.7-尝试词性搭配
续上文VS Code英汉词典插件v0.0.6-改为TS实现, 加测试后, 继续重构(提取常量, 避免var, 添加类型等等), 并完善测试. 测试方法参考: Testing Visual Studio ...