目录
一.什么是shell
脚本中命令的解释器
二.shell脚本的意义
1.记录命令执行的过程和执行逻辑,以便以后重复执行
2.脚本可以批量处理主机
3.脚本可以定时处理主机
三.如何创建shell脚本
#!/bin/bash ##幻数
vim自动添加脚本首部
"map <F4> ms:call WESTOSTITLE()<cr>'s
autocmd BufNewFile *.sh,*.script call 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
#!/bin/bash ##幻数,在脚本运行时最先运行的指令,通常都是脚本中其他的运行环境
全局vim /etc/vimrc ##只能root编写
指定vim ~/.vimrc ##在用户家目录中编辑.vimrc文件也可以控制vim的运行但是只针对当前用户
##也可以将~变成想要用户的家目录
set nu 显示行号
ts=2 指定tab一次两个空格
et把tab键转换成空格,不et就tab的空格是不分开的
ai 自动缩进
vim ~/.vimrc ##~家目录
1 set nu ts=2 et ai
2
3 autocmd BufNewFile *.sh,*.script call SHELLTITLE()
4 func SHELLTITLE()
5 call append(0,"########################")
6 call append(1,"# Author: lq")
7 call append(2,"# Version 1.0")
8 call append(3,"# Create_Time ".strftime("%Y/%m/%d"))
9 call append(4,"# Mail: lq@westos.org")
10 call append(5,"#Info ")
11 call append(6,"#")
12 call append(7,"#")
13 call append(8,"########################")
14 call append(9,"")
15 call append(10,"#!/bin/bash")
16 endfunc
然后后续vim生成的以.sh或者.script结尾的脚本文件自动匹配上文的内容
四.如何执行shell脚本
1).手动在环境中开启指定解释器
sh script.sh2).直接在当前环境中运行shell中的指令不开启新的shell
source script.sh
. script.sh3).开启脚本中指定的shell并使用此shell环境运行脚本中的指令
chmod +x script.sh
/xxx/xxx/script.sh
./script.sh
五.如何对脚本进行调试
sh -x /mnt/westos.sh
+ ##运行指令
不带+ ##命令运行的输出
六.脚本练习 :
1. ip_show.sh 网卡,显示当前的IP
2.host_messages.sh 显示当前主机的名称,ip登陆当前主机的用户
hostname: xxxxx
ipaddress: xxxx.xxxx.xxx.xxx
username: root
3.clear_log.sh 执行次脚本后可以清空日志