shell(1)介绍、脚本结构和执行、date命令、脚本中的变量、脚本中逻辑判断、文件目录属性判断

      一、shell脚本介绍

blob.png

我自定的shell脚本基本是放在/usr/local/sbin/目录下。



                    二、Shell脚本结构和执行

blob.png

脚本命令:

bash +脚本文件路径

sh  +脚本文件路径

查看脚本执行过程-x  :bash -x 1.sh

查看脚本是否语法错误 -n:bash -n 1.sh



                三、date命令用法(在shell脚本中经常使用到这个命令的结果)


 date  +%Y-%m-%d, date +%y-%m-%d 年月日

 date  +%H:%M:%S = date +%T 时间

 date +%s  时间戳 (以1970为始)

 date -d @1504620492

 date -d "+1day"  一天后

 date -d "-1 day"  一天前

 date -d "-1 month" 一月前

 date -d "-1 min"  一分钟前

 date +%w, date +%W 星期

date +%Y 年份以四位数显示

date +%y 年份以两位数显示

date +%m 表示月份

date +%d 表示日期

date +%H 表示小时

date +%M  表示分钟

date +%S 表示秒


对比 date -d "-1 day " 和date -d "-1 day " +%F的区别:

blob.png

时间戳和具体时间日期进行转换

blob.png



          四、shell脚本中的变量

blob.png

变量可以多次是使用和调用




        五、脚本中的逻辑判断

blob.png


格式1:if 条件 ; then 语句; fi

1. if条件语句的格式:(在脚本中写这些语句的时候不要加分号“;”,在命令行中直接执行要加分号)

 if [ $a -gt 1 ];

 then ... ;

 fi

blob.png

(if(($a>5))==if [ $a -gt >5 ])


格式2:if 条件; then 语句; else 语句; fi

if [ $a -gt 1 ];

 then ... ;

 else 语句;

 fi


格式3:if …; then … ;elif …; then …; else …; fi

逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(<); -ge(>=); -le(<=);-eq(==); -ne(!=) 注意到处都是空格

可以使用 && || 结合多个条件

if [ $a -gt 5 ] && [ $a -lt 10 ]; then

 if [ $b -gt 5 ] || [ $b -lt 3 ]; then



                        六、文件目录属性判断


blob.png



 [ -f file ]判断是否是普通文件,且存在

blob.png

blob.png

 [ -d file ] 判断是否是目录,且存在

 [ -e file ] 判断文件或目录是否存在

 [ -r file ] 判断文件是否可读

 [ -w file ] 判断文件是否可写

 [ -x file ] 判断文件是否可执行


{
[ -f $f ] && rm -rf $f ==if [-f $f ];then ;rm -rf $f fi

}








































































猜你喜欢

转载自blog.51cto.com/13589255/2116163