码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2018-05-14 16:45:57      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:shell语法

      一、shell脚本介绍

技术分享图片

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



                    二、Shell脚本结构和执行

技术分享图片

脚本命令:

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的区别:

技术分享图片

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

技术分享图片



          四、shell脚本中的变量

技术分享图片

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




        五、脚本中的逻辑判断

技术分享图片


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

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

 if [ $a -gt 1 ];

 then ... ;

 fi

技术分享图片

(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



                        六、文件目录属性判断


技术分享图片



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

技术分享图片

技术分享图片

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

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

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

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

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


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

}








































































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

标签:shell语法

原文地址:http://blog.51cto.com/13589255/2116163

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!