标签:语言 local 时间服务 网络 效率 ber 日历 load 不可
shell 脚本介绍shell 是一种脚本语言
可以自定义函数,目的就是为了减少重复的代码
shell 是系统命令的集合
脚本第一行必须为 #!/bin/bash
脚本内容中以#开头的行为作为解释说明
编写脚本时备注:作者、时间、功能等信息,方便之后查看
1、给脚本添加执行权限“chmod a+x test.sh”,然后直接执行过程
2、bash test.sh ; sh test.sh
sh 参数
创建一个shell 脚本:
[root@localhost shell]# vim 01.sh
#! /bin/bash //固定格式
echo "123"
w
ls
给脚本加上执行权限:
[root@localhost shell]# chmod a+x 01.sh
执行脚本
[root@localhost shell]# ./01.sh
abc
22:46:45 up 2:33, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.159.1 20:17 5.00s 0.06s 0.00s /bin/bash ./01.sh
01.sh
在当前终端里,把01.sh中的#! /bin/bash 去掉后在执行脚本,会看到得到的结果相同,不会出现任何的问题,这就说明这台机器是能识别里面一条一条的命令的,去运行这里面的命令;但若是换一台机器,就不一定能执行了
date命令用于显示或设置系统时间与日期
语法:date 选项 参数
选项
参数
显示当前时间:
[root@localhost ~]# date
2018年 02月 07日 星期三 09:56:28 CST
查看系统日历:
[root@localhost ~]# cal
二月 2018
日 一 二 三 四 五 六
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28
// cal -y可以查看一年的日历
"+时间日期格式":指定日期和时间显示的格式
date +%Y(%y):以四位(两位)数格式显示年份
[root@localhost ~]# date +%Y
2018
[root@localhost ~]# date +%y
18
date "+%Y-%m-%d %H:%M:%S %w"
表示:年、月、日、时、分、秒、星期
[root@localhost ~]# date "+%Y-%m-%d %H:%M:%S %w"
2018-02-07 10:02:43 3
// 以上参数组合时,中间有特殊符号的话需要加双引号
date +%F:显示完整的年月日
[root@localhost ~]# date +%F
2018-02-07
date +%W:显示当前时间是一年的第几周
[root@localhost ~]# date +%W
06
date +%T:显示当前时间是几点
[root@localhost ~]# date +%T
10:05:50
date +%s:时间戳
// 显示从1970年1月1日00:00:00到目前经历的秒数
[root@localhost ~]# date +%s
1517969292
时间戳换算:
[root@localhost ~]# date +%s -d "20180207 10:10:00"
1517969400
[root@localhost ~]# date -d @1517969400
2018年 02月 07日 星期三 10:10:00 CST
有时候需要使用N天(小时、分钟、秒)前的日期或时间
两天以前:
date -d "-2 day"
[root@localhost ~]# date
2018年 02月 07日 星期三 10:14:10 CST
[root@localhost ~]# date -d "-2 day"
2018年 02月 05日 星期一 10:14:13 CST
两天以后:
date -d "+2 day"
[root@localhost ~]# date
2018年 02月 07日 星期三 10:14:58 CST
[root@localhost ~]# date -d "+2 day"
2018年 02月 09日 星期五 10:15:02 CST
一年两个月一天以前:
date -d "-1 year -2 month -1 day"
[root@localhost ~]# date
2018年 02月 07日 星期三 10:16:32 CST
[root@localhost ~]# date -d "-1 year -2 month -1 day"
2016年 12月 06日 星期二 10:16:34 CST
手动设置时间:date -s "年-月-日 时:分:秒"
[root@localhost ~]# date -s "2017-01-01 12:00:00"
2017年 01月 01日 星期日 12:00:00 CST
[root@localhost ~]# date
2017年 01月 01日 星期日 12:00:02 CST
同步网络时间:ntpdate命令
[root@localhost ~]# yum install -y ntp
// 安装ntpdate命令
[root@localhost ~]# ntpdate ntp1.aliyun.com
7 Feb 10:24:16 ntpdate[2681]: step time server 182.92.12.11 offset 34726773.904725 sec
[root@localhost ~]# date
2018年 02月 07日 星期三 10:24:24 CST
// ntpdate 后面跟ntp时间服务器地址
当脚本中使用某个字符串较频繁,并且字符串长度很长,此时就应该使用变量来代替该字符串。
使用条件语句时,常使用变量 if[$a -gt 1];then...;fi
引用某个命令的结果时,用变量替代 n=‘wc -l 1.txt‘
写和用户交互的脚本时,变量也是必不可少的 read -p "input a number:"n; echo $n 如果没写这个n,可以直接使用¥REPLY
内置变量$0,$1,$2... $0表示脚本本身,$1第一个参数,$2第二个参数 $n表示第n个参数
shell脚本介绍、结构和执行、date命令用法、shell脚本中的变量
标签:语言 local 时间服务 网络 效率 ber 日历 load 不可
原文地址:http://blog.51cto.com/754599082/2069721