#!/bin/sh
 myPath=";/var/log/httpd/";
 myFile=";/var /log/httpd/access.log";

#这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
 if [ ! -x ";$myPath";]; then
 mkdir ";$myPath";
 fi

#这里的-d 参数判断$myPath是否存在
 if [ ! -d ";$myPath";]; then
 mkdir ";$myPath";
 fi

#这里的-f参数判断$myFile是否存在
 if [ ! -f ";$myFile"; ]; then
 touch ";$myFile";
 fi

#其他参数还有-n,-n是判断一个变量是否是否有值
 if [ ! -n ";$myVar"; ]; then
 echo ";$myVar is empty";
 exit 0
 fi

#两个变量判断是否相等
 if [ ";$var1"; == ";$var2"; ]; then
 echo '$var1 eq $var2'
 else
 echo '$var1 not eq $var2'
 fi

if list then
                    do something here
            elif list then
                    do another thing here
            else
                  do something else here
            fi       
EX1: 
#!/bin/sh
SYSTEM=`uname -s`       #获取操作系统类型,我本地是linux
if [ $SYSTEM = ";Linux"; ] ; then         #如果是linux的话打印linux字符串
 echo ";Linux";
 elif [ $SYSTEM = ";FreeBSD"; ] ; then     
 echo ";FreeBSD";
 elif [ $SYSTEM = ";Solaris"; ] ; then
 echo ";Solaris";
 else
 echo ";What?";
 fi         #ifend
基本上和其他脚本语言一样。没有太大区别。不过值得注意的是。[]里面的条件判断。
1 字符串判断 
str1 = str2 当两个串有相同内容、长度时为真
 str1 != str2 当串str1和str2不等时为真
 -n str1 当串的长度大于0时为真(串非空)
 -z str1 当串的长度为0时为真(空串)
 str1      当串str1为非空时为真
2 数字的判断 
int1 -eq int2 两数相等为真
 int1 -ne int2 两数不等为真
 int1 -gt int2 int1大于int2为真
 int1 -ge int2 int1大于等于int2为真
 int1 -lt int2 int1小于int2为真
 int1 -le int2 int1小于等于int2为真
3 文件的判断 
-r file 用户可读为真
 -w file 用户可写为真
 -x file 用户可执行为真
 -f file 文件为正规文件为真
 -d file 文件为目录为真
 -c file 文件为字符特殊文件为真
 -b file 文件为块特殊文件为真
 -s file 文件大小非0时为真
 -t file 当文件描述符(默认为1)指定的设备为终端时为真
3 复杂逻辑判断 
-a 与
 -o 或
 ! 非

转载于:https://www.cnblogs.com/aggavara/archive/2012/11/06/2756643.html

Linux shell脚本中判断变量文件目录:权限、是否存在、空值、相等相关推荐

  1. Linux:shell脚本中实现变量自增的几种方式

    #!/bin/sh #本脚本测试shell脚本中整型变量自增 加1的几种方法   #定义整型变量 a=1 echo $a   #第一种整型变量自增方式 a=$(($a+1)) echo $a   #第 ...

  2. shell脚本中的变量

    shell脚本中的变量 1 变量的定义 2 shell脚本中变量的定义方法 2.1 环境级别 2.2 用户级别 2.3 系统级别 3 变量名称 4 变量的转译 4.1 转译 4.2 声明 4.3 变量 ...

  3. 7月11日任务 shell介绍、shell结构和执行 、date命令用法、shell脚本中的变量

    2019独角兽企业重金招聘Python工程师标准>>> 20.1 Shell脚本介绍 • shell是一种脚本语言  aming_linux  blog.lishiming.net ...

  4. linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法

    这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...

  5. 20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量...

    2019独角兽企业重金招聘Python工程师标准>>> 20.1 shell脚本介绍 shell 是一种脚本语言:和传统的开发语言比较,会比较简单 shell有自己的语法:可以使用逻 ...

  6. shell脚本中判断大于、小于、等于、不等于的符号

    shell脚本中判断大于.小于.等于.不等于的符号 在shell中有时候会用到对数字进行判断的场景,尤其在写脚本判断参数的时候,以下有几个命令需要记住 大于 -gt (greater than) 小于 ...

  7. Linux Shell脚本中压缩包解压到目标目录下

    在Linux Shell脚本中,把一个压缩文件解压到目标目录下,使用如下代码: tar -xvf server.tar -C /opt/ 上述命令实现了把当前目录下的server.tar的压缩包,解压 ...

  8. Linux Shell - 脚本中自动确认需要输入确认的命令

    文章目录 Linux Shell - 脚本中自动确认需要输入确认的命令 1.yum 命令 2.其它命令 Linux Shell - 脚本中自动确认需要输入确认的命令 1.yum 命令 通过指定 -y ...

  9. linux脚本用户输入,如何在Linux shell脚本中提示用户输入

    本篇文章给大家介绍关于如何在Linux shell脚本中提示用户输入?下面来看具体的内容. 我们首先来看一下命令# read var # read -s "Waiting for input ...

  10. shell脚本中判断上一条python命令执行情况

    shell脚本中判断python命令执行结果 python脚本main.py import sys def main():try:"执行相关操作"sys.exit(0)except ...

最新文章

  1. 作为导师,我希望学生在毕业后主动拉黑我
  2. 汇编语言--通用寄存器
  3. 初涉.....编码__列表__字典
  4. 如何搭建一个数据库服务器平台 .
  5. 轻松学c语言编程.pdf等,轻松学编程 轻松学C语言编程pdf
  6. java 指令接口架构,JavaSE 基础大纲
  7. c++两数组合并算法
  8. 小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_6、SpringBoot2.xHTTP请求配置讲解...
  9. 标定工具CANape软件使用之新建工程
  10. miui怎么用第三方图标包_Burn安卓手机图标包 手机美化从图标开始
  11. Linux编译DuiLib库报error: no matches converting function ‘ItemComareFunc’ to type ‘__compar_d_fn_t错误解决
  12. 常规操作系统Windows系统淋雨系统Unix系统netware等系统介绍分析
  13. Python exe Fatal error detected
  14. 人员属性识别 PETA数据集下载
  15. QCC512x QCC302x 延时函数 (阻塞与非阻塞)
  16. python标准库复数运算包cmath
  17. 做wish用多大的虚拟服务器,虚拟海外仓适应于wish,ebay,速卖通,自营平台
  18. 家长叫我别天天我在房间没事多看看新闻,我说我马上写个爬虫爬新闻看!!!
  19. 2018网易秋招编程题【彩色砖块】
  20. PostgreSQL 数据库安全指南

热门文章

  1. Redis Zui佳实践:7个维度+43条使用规范,带你彻底玩转Redis
  2. 正则匹配获取中括号中的内容
  3. 微型计算机的工作过程是执行程序过程吗,微型计算机的工作过程和主要性能指标...
  4. 在 Linux 上使用 Docker 安装 Portainer
  5. 【sklearn第十四讲】决策树之分类篇
  6. ubuntu16.04下ROS操作系统学习笔记(八)机器人SLAM与 Gmapping-Hector_slam-Cartographer--ORB_SLAM
  7. 求解偏微分方程开源有限元软件deal.II学习--Step 48
  8. linux系统下find命令的使用
  9. 浅谈软件性能测试中关键指标的监控与分析
  10. bzoj 1072: [SCOI2007]排列perm