文章目录
- 一、什么是shell
- 二、shell脚本的意义
- 三、如何创建shell脚本
- 四、如何执行shell脚本
- 五、如何对shell脚本进行测试
- 六、练习
- 1、网卡名输出ip
- 2、显示当前主机的名称
- 3、清空日志
一、什么是shell
shell(壳):命令解释器,一种应用程序。
脚本中命令的解释器
二、shell脚本的意义
1.记录命令执行的过程和执行逻辑,以便以后重复执行
2.脚本可以批量处理主机
3.脚本可以定时处理主机
三、如何创建shell脚本
shell中脚本文件一般以.sh或.script结尾;在此类文件中首行输入shell脚本幻数:#!/bin/bash后再添加相关的脚本命令即可生成脚本文件;#/!/bin/bash可以理解为脚本中命令的执行环境
#!/bin/bash ##幻数
在脚本运行时最先运行的指令,通常用于指定脚本的运行环境。
在脚本中通常要写出关于脚本本身的一些信息,这些信息可以通过vim的设置自动出现。
vim /etc/vimrc
vim ~/.vimrc
添加set nu
使得使用vim打开的文件都有行号
测试:
切换至westos中打开/etc/passwd文件
vim ~/.vim #只针对与当前用户的vim文件浏览模式设置
四、如何执行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
五、如何对shell脚本进行测试
sh -x /mnt/westos.sh
+
不带+
六、练习
1、网卡名输出ip
要求:
sh ip_show.sh 网卡名
脚本分析:
第1部分:
如果输入的网卡名为空不正确则输出错误的报错并提示输入正确的名称
第2部分:
如果输入的网卡名不正确则输出“not found”的报错
输入正确则会筛选出相应的ip
测试
2、显示当前主机的名称
要求:
host_messages.sh 显示当前主机的名称,ip登陆当前主机的用户
hostname:
xxxxx
xxxx.xxxx.xxx.xxx
ipaddress:username: root
#!/bin/bash
echo "hostname: `hostname`"
echo "ipaddress: `ifconfig eth0|awk '/inet\>/{print $2}'`"
echo "username: $USER"
3、清空日志
clear_log.sh 执行次脚本后可以清空日志
#!/bin/bash
> /var/log/message