shell判断条件

[ -f "somefile" ] :判断是否是一个文件
[ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限
[ -n "$var" ] :判断$var变量是否有值
[ "$a" = "$b" ] :判断$a和$b是否相等
-r file     用户可读为真
-w file     用户可写为真
-x file     用户可执行为真
-f file     文件为正规文件为真
-d file     文件为目录为真
-c file     文件为字符特殊文件为真
-b file     文件为块特殊文件为真
-s file     文件大小非0时为真
-t file     当文件描述符(默认为1)指定的设备为终端时为真

文件表达式
-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 ]

#!/bin/bash
name=123
name1=333#判断文件是否有执行权限;-r:可读; -w:可写; -x:可执
if [ ! -x /home/demo/shell/111 ];thenecho "file can not exec"
elseecho "file can exec"
fi#判断文件是否为目录
if [ ! -d /home/demo/shell/111 ];thenecho "file is not dir"
elseecho "file is dir"
fi#判断文件是否存在;!表示非
#if [ -f /home/111 ];then
if [ ! -f /home/demo/shell/111 ];thenecho "file is not exist"
elseecho "file is exist"
fi#判断$name变量是否有值
if [ -n $name ];thenecho "file is have value"
elseecho "file is not have value"
fi#判断$a和$b是否相等
if [ $name = $name1 ];thenecho "file is equal"
elseecho "file is not equal"
fi

shell之判断文件是否存在相关推荐

  1. python判断linux中文件是否存在_linux shell 中判断文件、目录是否存在的方法

    本文主要介绍了linux shell 中判断文件.目录是否存在的方法,分享给大家 -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为 ...

  2. linux判断目录是否存在命令,linux shell 中判断文件、目录是否存在的方法

    本文主要介绍了linux shell 中判断文件.目录是否存在的方法,分享给大家 -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为 ...

  3. Shell脚本-判断文件有无进而复制

    [原]Shell脚本-判断文件有无进而复制 2016年7月5日某同学在群上求助要编一个判断文件或目录在某路径下有无进而有的就复制粘贴到另一路径下,无的则将代码中断(不往下执行命令)的脚本.逐一完善.模 ...

  4. shell bash判断文件或文件夹是否存在

    #shell判断文件夹是否存在 #如果文件夹不存在,创建文件夹 if [ ! -d "/myfolder" ]; then mkdir /myfolder fi #shell判断文 ...

  5. shell脚本判断文件类型

    转自:http://www.cnblogs.com/sunyubo/archive/2011/10/17/2282047.html 1. shell判断文件,目录是否存在或者具有权限  2. #!/b ...

  6. linux shell脚本判断文件行数,判断文件是否存在的shell脚本代码

    实现代码一. #!/bin/sh # 判断文件是否存在 # lilSzqFnk:www.jb51.net # date:2013/2/28 myPath="/var/log/httpd/&q ...

  7. Shell中判断文件,目录是否存在

    一. 具体每个选项对应的判断内容: -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filena ...

  8. linux shell脚本判断文件或文件夹是否存在循环操作

    我最近写的脚本 你改改就能用 3.sh中全是 /data/test 这样的指向目录的数据 #!/bin/bash #set -x#循环读取文件目录 for line in `cat /root/shi ...

  9. 【Shell】判断文件是否包含给定字符串

    Shell判断文件是否包含给定字符串 给定一个字符,比方说"Hello Linduo",查找相应文件中是否包含该字符. 方式1:grep # grep -c 返回 file中,与s ...

最新文章

  1. c++用一级运算比较大小_阿里百度腾讯 C/C++ 面试题总结,我全都告诉你!
  2. PHP __compare 魔术方法的实现
  3. Linux中硬盘转速查看
  4. 面试题:谈谈你对hibernate的理解
  5. C++中operator的主要用法
  6. PTA c语言 数组元素循环右移问题
  7. pdf内容怎么复制到word文档里_pdf文件怎么放到word里?这招实在是太好用了
  8. IT中一些常见英汉互译
  9. How To Fix: SCP And SSH Login Prompt Is Very Sl...
  10. Spark DF:关于Row中的数值获取问题
  11. C语言show用法,show的用法和例句
  12. python常用的颜色英文表达_面料颜色中英文翻译对照表
  13. 技术开发团队如何高效率开会 [会议管理]
  14. hackthebox - blunder (Bludit渗透cewl使用 sudo提权)
  15. [历朝通俗演义-蔡东藩-前汉]第011回 降真龙光韬泗水 斩大蛇夜走丰乡
  16. 路透社:大众与江淮计划在合肥投资50.6亿元建新电动汽车工厂
  17. Chrome浏览器本地调试:阻止不安全、本地网络请求
  18. 网页搜索(百度谷歌)你不得不知道的十个小技巧
  19. CHtmlView当前浏览器打开新窗口
  20. 网易云音乐ubuntu下安装

热门文章

  1. 人工智能将为维护网络安全带来更多可能
  2. Ubuntu增加Swap分区大小
  3. cordova构建项目命令小结
  4. 如何优化js代码(2)——for循环
  5. squirrelmail+change_sqlpass 认证 问题
  6. Builder和Factory模式区别
  7. 《算法导论》读书笔记之第10章 基本数据结构之二叉树
  8. 将不确定变为确定~Linq to SQL不能随机排序吗?
  9. Qt 发布 Android 自动驾驶技术预览
  10. 快速学习javascript 整体架构方法