shell中脚本的创建与执行
1、什么是shell
脚本中命令的解释器
2、shell脚本的意义
1记录命令执行的过程和执行逻辑,以便以后重复执行,解放双手。
2脚本可以批量处理主机
3脚本可以定时处理主机
3、如何创建shell脚本
脚本为了规范,在开头会编写#!/bin/bash
代表脚本运行环境(幻数),并且还应该添加脚本的作者,创建时间,版本,作者邮箱等等一系列信息。如下图
那我每次创建一个脚本就写一大串好累,能不能自动添加呢?我们编写vim的配置文件~/.vimrc
如下图,首先建立一个函数名字叫WESTOS,内容是添加,0表示第一行,1表示第二行,以此类推,把我们想写的内容都写好。然后设定按F4调用该WESTOS函数,我们写脚本时按F4就可以出来提前写好的脚本信息。
还有另外一种方法,下面函数的编写是一样的,建立新文件时,如果是以sh或者script结尾的文件,就自动调用函数WESTOS。其他文件不受影响,旧文件也不受影响。
也可以设置自动缩进,sw=2表示缩进长度为两个空格,et表示把table键转换为空格,ts=2表示一个table键变为两个空格,ai表示自动缩进,call是调用,append是添加
4、如何执行shell脚本
(1)手动在环境中开启指定解释器
sh script.sh
(2)直接在当前环境中运行shell中的指令不开启新的shell
source script.sh
. script.sh
(3)开启脚本中指定的shell并使用此shell环境运行脚本中的指令
chmod +x script.sh
/xxx/xxx/script.sh
./script.sh
5、如何对脚本进行调试
sh -x /mnt/westos.sh
用来测试脚本中的错误位置
+
运行指令
不带+
命令运行的输出
脚本练习1:ip_show.sh 网卡 显示当前的IP
脚本练习2:host_messages.sh 显示当前主机的名称,ip登陆当前主机的用户
hostname:xxxxx
ipaddress:xxxx.xxxx.xxx.xxx
username:xxx
效果如下
脚本练习3:clear_log.sh 执行一次脚本后可以清空日志
思路是先判断身份,不是root直接拒绝,是root才能清空日志