博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell脚本介绍、结构和执行、变量及date命令用法
阅读量:5870 次
发布时间:2019-06-19

本文共 2244 字,大约阅读时间需要 7 分钟。

一、shell脚本介绍

shell是一种脚本语言, shell是系统命令的集合

1、可以使用逻辑判断、循环等语法;
跟C语言有点像,但有本质的区别。
2、可以自定义函数;
定义函数是为了减少我们的重复代码。
3、它可以实现自动化运维,可以批量同时执行,能大大增加我们的运维效率,;
要想学好写好shell就要不断的去练习。

二、结构和执行

1、在开头需要加

#!/bin/bash

指定用bash解释器来执行,以#开头行进行解释说明。脚本名以.sh结尾,用于区分这是一个shell脚本。

2、执行shell脚本方法有两种:

[root@riven ~]# chmod a+x 1.sh #给脚本执行权限[root@riven ~]# ./1.sh        #执行权限后用./直接执行[root@riven ~]# bash 1.sh  #直接用bash执行12233...
[root@riven ~]# bash -n 1.sh    # -n 查看脚本是不是语法错误[root@riven ~]# bash -x 1.sh    #-x 查看脚本的执行过程+ echo 12233...12233...+ echo 111[root@riven ~]#

三、data命令的用法

1、直接打data命令它会显示系统的日期和时间。
2、data命令在shell里面非常有用,它可以用来标记时间。
标记方法:

[root@riven ~]# date +%Y   #年2018[root@riven ~]# date +%m   #月07[root@riven ~]# date +%d   #日13[root@riven ~]# date +%M  #分钟58[root@riven ~]# date +%y    #两位数的年18[root@riven ~]# date +%D   #带/的年月日07/14/18[root@riven ~]# date +%Y%m%d   20180714[root@riven ~]# date +%F     #带横线的年月日2018-07-14[root@riven ~]# date +%H    #小时00[root@riven ~]# date +%S    #秒38[root@riven ~]# date +%s   #时间戳,距离1970年0点0分0秒过去多少钞[root@riven ~]# date +%T   #当前时间00:04:24[root@riven ~]# date +%H%M%S   #时分秒000554[root@riven ~]# date +%H:%M:%S00:06:02[root@riven ~]# cal   #显示最近一个月的日历      七月 2018     日 一 二 三 四 五 六 1  2  3  4  5  6  7 8  9 10 11 12 13 1415 16 17 18 19 20 2122 23 24 25 26 27 2829 30 31[root@riven ~]# date -d "-1 day" +%F    #前一天2018-07-13[root@riven ~]# date -d "+1 day" +%F    #后一天2018-07-15[root@riven ~]# date -d "+1 year" +%F    #后一年2019-07-14[root@riven ~]# date -d "-1 year" +%F     #前年2017-07-14[root@riven ~]# date -d "-1 month" +%F   #上个月2018-06-14[root@riven ~]# date -d "+1 month" +%F    #下个月2018-08-14[root@riven ~]# date -d "+1 hour" +%T      #后一个小时01:16:58[root@riven ~]# date -d "-1 hour" +%T     #前一个小时23:17:04[root@riven ~]# date -d @16032303211     #时间戳转成具体时间2478年 01月 16日 星期日 09:33:31 CST[root@riven ~]# date +%s -d "2018-09-09 00:00:00"#具体时间转换成时间戳1536422400[root@riven ~]#

四、shell脚本中上的变量

1、当脚本中使用某个字符串较频繁并且字符串长度很长时就应该使用变量代替。

2、使用条件语句时,常使用的变量:
if [$a -gt 1];then ...;fi
3、引用某个命令的结果时,用变量代替:
n='wc -| 1.txt'
4、写和用户交互的脚本时,变量也是必不可少的
read -p "Input a number: " n; echo $n #如果没写这个n,可以直接使用$REPLY
5、内置变量 $0, $1, $2… $0表示脚本本身,$1 第一个参数,$2 第二个 …. $#表示参数个数
6、数学运算a=1;b=2; c=$(($a+$b))或者$[$a+$b]

转载于:https://blog.51cto.com/10690709/2141961

你可能感兴趣的文章
Android单元测试 - Sqlite、SharedPreference、Assets、文件操作 怎么测?
查看>>
D3.js 力导向图来处理拓扑图
查看>>
JavaScript-浅谈DOM事件流
查看>>
写给自己,梳理一下我现在对前端知识结构的理解
查看>>
实践 HTML5 的 CSS3 Media Queries
查看>>
使用 Swift 在 iOS 10 中集成 Siri —— SiriKit 教程(Part 1)
查看>>
[译] 逐渐去掌握 React(作为一名 Angular 开发者)
查看>>
不懂函数式?用mobx来写react应用吧
查看>>
[LeetCode/LintCode] Word Ladder
查看>>
年老代过大有什么影响
查看>>
Android单元测试(五):依赖注入,将mock方便的用起来
查看>>
CSS多列布局
查看>>
javascript中的cookie问题
查看>>
RAID磁盘阵列配置和调优小结
查看>>
传统 Ajax 已死,Fetch 永生
查看>>
Nodejs API
查看>>
swift(不同设备适配详解)
查看>>
阿里云地域节点物理机房所在城市对照表(大陆节点+海外节点) ...
查看>>
Python零基础学习笔记(二十)—— tuple元组
查看>>
使用Nginx在windows和linux上搭建集群
查看>>