1.什么是shell
脚本中命令的解释器
2.shell脚本的意义
1.记录命令执行的过程和执行逻辑,以便以后重复执行
2.脚本可以批量处理主机
3.脚本可以定时处理主机
三.如何创建shell脚本
#!/bin/bash ##幻数
通过vim自动设定脚本首部
#vim /etc/vimrc vim的全局配置文件,对所有用户都执行
#vim ~/.vimrc 只针对当前用户生效的vim配置文件
#vim ~/.vimrc
set nu ts=2 et ai ##nu行数/ts=2指定tab键的长度为两个空格/et把tab键转换成空格/ai自动缩进
autocmd BufNewFile *.sh,*.script call WESTOSTITLE() ##新文件以.sh .script结尾的都执行WESTOSTITLE()
func WESTOSTITLE()
call append(0,"####################################")
call append(1,"# Author: lee") ##创建者
call append(2,"# Version: ") ##版本
call append(3,"# Create_Time: ".strftime("%Y/%m/%d")) ##创建时间 自动捕捉
call append(4,"# Mail: lee@westos.org") ##邮箱
call append(5,"# Info: ")
call append(6,"# ")
call append(7,"###############################")
call append(8,"")
call append(9,"#!/bin/bash")
endfunc
4.如何执行shell脚本
1).手动在环境中开启指定解释器
用指定的shell运行
#sh /mnt/test.sh
#ps f
2).直接在当前环境中运行shell中的指令不开启新的shell
source /mnt/test.sh = . /mnt/test.sh (. script.sh)
ps f
fg
3).开启脚本中指定的shell并使用此shell环境运行脚本中的指令
chmod +x /mnt/test.sh (./script.sh)
/mnt/test.sh
5.如何对脚本进行调试
实验准备
vim /mnt/test.sh
date
cat
cal
sh -x /mnt/test.sh 脚本调试,显示脚本执行过程
+ ##运行指令
不带+ ##命令运行的输出
脚本练习:
1 ip_show.sh 网卡 显示当前的IP
方法一:
方法二:
2 host_messages.sh 显示当前主机的名称,ip,登陆当前主机的用户
hostname: xxxxx
ipaddress: xxxx.xxxx.xxx.xxx
username: root
方法一:
方法二:
3.clear_log.sh 执行次脚本后可以清空日志