您的位置:首页 > 运维架构 > Shell

12.1脚本

2018-07-08 20:47 78 查看
12.1脚本
shell脚本并不能作为正式的变成语言,因为它是在linux的shell中运行的,所以称为shell脚本。shell脚本就是一些命令的集合。把所有的操作都记录到一个文档中,然后去调用文档中的命令,这样一部操作就可以完成。这个文档就是shell脚本,只是这个shell脚本有它的特殊的格式。

shell脚本能帮助我们很方便地管理服务器,因为我们可以指定一个任务计划,定时去执行某个shell脚本以满足需求。

凡是自定义的脚本都放到/user/local/sbin/目录下。这样做的目的是:一来可以更好地管理文档;二来是以后接管你的管理员都知道自定义脚本放在哪里,方便维护。
12.1.1 shell脚本的创建和执行
编写第一个shell脚本
[root@localhost ~]# cd /usr/local/sbin
[root@localhost sbin]# vim first.sh
#! /bin/bash

##This is my first shell script
## Writen by Aming 2017-02-23.

date
s is my first shell script
## Writen by Aming 2017-02-23.

date
echo "Hello world"
shell脚本通常都以.sh为后缀名。这并不是说不加.sh的脚本就不能执行,只是大家的一个习惯而已。本例中,脚本文件first.sh的第1行要以#! /bin/bash开头,表示该文件使用的是bash语法。如果不设置改行,你的shell脚本也能执行,但是不符合规范。#表示注释,后面跟一些该脚本的相关注释内容。因为随着工作时间的逐渐过渡,写的shell脚本也会越来越多,如果有一天你回头查看自己写过的某个脚本,很有可能忘记改脚本是用来干什么的以及什么时候写的。所以写上注释是有必要的。别的管理员也可以查看你的脚本。

执行这个脚本,如下所示:

[root@localhost sbin]# sh first.sh
2018年 07月 08日 星期日 20:03:59 CST
Hello world
shell另外的一种执行方法,如下所示:
[root@localhost sbin]# ./first.sh
-bash: ./first.sh: 权限不够
[root@localhost sbin]# chmod +x first.sh
[root@localhost sbin]# ./first.sh
2018年 07月 08日 星期日 20:21:46 CST
Hello world
使用该方法运行shell脚本的前提是脚本本身有执行权限,所以需要给脚本加一个x权限。另外,使用sh命令执行一个shell脚本时,可以加-x选项查看这个脚本执行过程,这样有利于我们调试这个脚本。如下所示:
[root@localhost sbin]# sh -x first.sh
+ date
2018年 07月 08日 星期日 20:25:35 CST
+ echo 'Hello world'
Hello world
date命令

用法:
date +%Y:表示意思为数字格式打印年份。

date +%y:表示意思为数字格式打印年份。

date +%m:表示月份。

date +%d:表示日期。

date +%H:表示小时。

date +%M:表示分钟。

date +%S:秒。

date +%w:表示星期。结果显示0则表示周日。

列举几个例子date命令的用法,示例如下:

[root@localhost sbin]# date +"%Y-%m-%d %H:%M:%S"

2018-07-08 20:36:12
前一天的日期,如下所示:

[root@localhost sbin]# date -d "-1 day" +%d
07
一小时前,如下所示:
[root@localhost sbin]# date -d "-1 hour" +%H
19
一分钟前,如下所示:
[root@localhost sbin]# date -d "-1 min" +%M
39
12.2 shell脚本中的变量

在shell脚本中使用变量回事我们的脚本更加专业,更像是一门语言。

定义变量的格式为:“变量名=变量的值”。

在脚本中引用变量时需要加上符号$,这跟前面介绍的在shell中自定义变量是一致的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell 脚本