Linux shell脚本中判断变量文件目录:权限、是否存在、空值、相等
#!/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脚本中判断变量文件目录:权限、是否存在、空值、相等相关推荐
- Linux:shell脚本中实现变量自增的几种方式
#!/bin/sh #本脚本测试shell脚本中整型变量自增 加1的几种方法 #定义整型变量 a=1 echo $a #第一种整型变量自增方式 a=$(($a+1)) echo $a #第 ...
- shell脚本中的变量
shell脚本中的变量 1 变量的定义 2 shell脚本中变量的定义方法 2.1 环境级别 2.2 用户级别 2.3 系统级别 3 变量名称 4 变量的转译 4.1 转译 4.2 声明 4.3 变量 ...
- 7月11日任务 shell介绍、shell结构和执行 、date命令用法、shell脚本中的变量
2019独角兽企业重金招聘Python工程师标准>>> 20.1 Shell脚本介绍 • shell是一种脚本语言 aming_linux blog.lishiming.net ...
- linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法
这篇文章主要介绍了Linux shell脚本中连接字符串的方法,如果想要在变量后面添加一个字符,可以用一下方法: 代码如下: $value1=home $value2=${value1}"= ...
- 20.1 shell脚本介绍 20.2 shell脚本结构和执行 20.3 date命令用法 20.4 shell脚本中的变量...
2019独角兽企业重金招聘Python工程师标准>>> 20.1 shell脚本介绍 shell 是一种脚本语言:和传统的开发语言比较,会比较简单 shell有自己的语法:可以使用逻 ...
- shell脚本中判断大于、小于、等于、不等于的符号
shell脚本中判断大于.小于.等于.不等于的符号 在shell中有时候会用到对数字进行判断的场景,尤其在写脚本判断参数的时候,以下有几个命令需要记住 大于 -gt (greater than) 小于 ...
- Linux Shell脚本中压缩包解压到目标目录下
在Linux Shell脚本中,把一个压缩文件解压到目标目录下,使用如下代码: tar -xvf server.tar -C /opt/ 上述命令实现了把当前目录下的server.tar的压缩包,解压 ...
- Linux Shell - 脚本中自动确认需要输入确认的命令
文章目录 Linux Shell - 脚本中自动确认需要输入确认的命令 1.yum 命令 2.其它命令 Linux Shell - 脚本中自动确认需要输入确认的命令 1.yum 命令 通过指定 -y ...
- linux脚本用户输入,如何在Linux shell脚本中提示用户输入
本篇文章给大家介绍关于如何在Linux shell脚本中提示用户输入?下面来看具体的内容. 我们首先来看一下命令# read var # read -s "Waiting for input ...
- shell脚本中判断上一条python命令执行情况
shell脚本中判断python命令执行结果 python脚本main.py import sys def main():try:"执行相关操作"sys.exit(0)except ...
最新文章
- 作为导师,我希望学生在毕业后主动拉黑我
- 汇编语言--通用寄存器
- 初涉.....编码__列表__字典
- 如何搭建一个数据库服务器平台 .
- 轻松学c语言编程.pdf等,轻松学编程 轻松学C语言编程pdf
- java 指令接口架构,JavaSE 基础大纲
- c++两数组合并算法
- 小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_6、SpringBoot2.xHTTP请求配置讲解...
- 标定工具CANape软件使用之新建工程
- miui怎么用第三方图标包_Burn安卓手机图标包 手机美化从图标开始
- Linux编译DuiLib库报error: no matches converting function ‘ItemComareFunc’ to type ‘__compar_d_fn_t错误解决
- 常规操作系统Windows系统淋雨系统Unix系统netware等系统介绍分析
- Python exe Fatal error detected
- 人员属性识别 PETA数据集下载
- QCC512x QCC302x 延时函数 (阻塞与非阻塞)
- python标准库复数运算包cmath
- 做wish用多大的虚拟服务器,虚拟海外仓适应于wish,ebay,速卖通,自营平台
- 家长叫我别天天我在房间没事多看看新闻,我说我马上写个爬虫爬新闻看!!!
- 2018网易秋招编程题【彩色砖块】
- PostgreSQL 数据库安全指南
热门文章
- Redis Zui佳实践:7个维度+43条使用规范,带你彻底玩转Redis
- 正则匹配获取中括号中的内容
- 微型计算机的工作过程是执行程序过程吗,微型计算机的工作过程和主要性能指标...
- 在 Linux 上使用 Docker 安装 Portainer
- 【sklearn第十四讲】决策树之分类篇
- ubuntu16.04下ROS操作系统学习笔记(八)机器人SLAM与 Gmapping-Hector_slam-Cartographer--ORB_SLAM
- 求解偏微分方程开源有限元软件deal.II学习--Step 48
- linux系统下find命令的使用
- 浅谈软件性能测试中关键指标的监控与分析
- bzoj 1072: [SCOI2007]排列perm