首先了解什么是shell!!!
在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
脚本命令的解释器。
写shell脚本的目的在于
1.记录命令执行的过程和执行逻辑,以便以后重复执行
2.脚本可以批量处理主机
3.脚本可以定时处理主机
创建shell脚本的方式!
在脚本书写第一行写入:
#!/bin/bash ##幻数 直接使用的常数叫做幻数
##脚本最顶级的进程,最先开始
vim自动添加脚本首部
vim ~/.vimrc
set ts=4 ai et
##ai 自动缩进
##tab键自动为整体的4个空格
“map ms:call WESTOSFILE()'s
autocmd BufNewFile *.sh call WESTOSFILE()
##第12行调用
##新文件自动添加
##老文件不会自动添加
func WESTOSFILE()
call append(0,”#################“)
##调用,内容
测试创建新的文件 打开如下
现在继续修改配置文件!
call append(1,"# Create_Time “.strftime(”%Y-%m-%d"))
##自动采集系统时间
##多个字符串,用“.“连接
call append(2,"# Author: lee")
call append(3,"#################“)
call append(4,"“)
call append(5,"#!/bin/bash“)
endfunc
内容如下
然后创建新的文件打开 就会出现以下
要注意 vim ~/.vimrc一定要最后结束写endfunc!!!!
那么如何执行脚本呢!
手动在环境中开启指定解释器
sh filename.sh
随便写一个脚本运行!
查看进程!
开启脚本中指定的shell并使用此shell环境运行脚本中的指令
chmod +x westos.sh
/xxx/xxx/westos.sh
./westos.sh
对脚本进行调试!
sh -x /mnt/westos.sh
+##运行指令
不带+ ##命令运行的输出
脚本练习
ip_show.sh 网卡 显示当前的网卡的ip
测试如下
实验2
host_messages.sh 显示当前主机的名称,ip登陆当前主机的用户
hostname: xxxxx
ipaddress: xxxx.xxxx.xxx.xxx
username: root
***记得第二行输出IP的时候 inet左右要输入斜杠去转义!
echo hostname : “ ( h o s t n a m e ) " e c h o i p a d d r e s s : " (hostname)" echo ipaddress : " (hostname)"echoipaddress:"(ifconfig enp1s0 | awk '/inet>/{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲')" echo usern…USER”
测试如下!
实验3
做一个脚本使满足一下要求:
clear_log.sh 执行次脚本后可以清空日志
找到日志目录:
vim /etc/rsyslog.conf 在配置文件中查看所有日志存放的位置
先找出 系统中存放日志的目录!
思路如下:
1)先确定是超级用户才可执行以下操作!!
2)sed -ne ‘s/-//g’ -e ‘//var/log/p’ /etc/rsyslog.conf | awk '{print $2}可以抓出查看到的日至目录!!
3)然后对于这些目录全部清空 :for i in $LOG do > $i done
###然后写脚本 把这些目录都清空即可清空日志!
测试如下 !