1.什么是shell:
脚本中命令的解释器
Shell指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。Linux中一般默认的shell为:bash
2.shell脚本的意义:
2-1:记录命令执行的过程和执行逻辑,以便以后重复执行
2-2:脚本可以批量处理主机
2-3:脚本可以定时处理主机
3.脚本中第一个执行的命令:
#!/bin/bash ##可以通过 ps f 来查看进程树(查看运行脚本等解释器)
开头的“#!"字符又称为幻数,在执行bash脚本的时候,内核会根据“#!”后面的解释器来确认哪个程序解释这个脚本中的内容;
常见的shell解释器:
Linux中常用的解释器有:bash,sh,csh,tch等
UNIX中常用的解释器有:sh,kcsh等
4.shell中自动添加脚本首部:
其中autocmd BufNewFile 表示在新的脚本中(以.sh .script结尾的)调用WESTOSFILE()模块
第二行autocmd表示在sh中设定Tab键默认为4个空格:
执行效果:
5.shell的三种运行方式:
第一种方式如下:w.sh中的指定的解释器为bash,用 sh w.sh执行脚本后系统在当前shell下开启了一个子shell,类型为sh:
第二种方式如下:source w.sh ,使用当前shell直接执行脚本,不开启新的解释器:
第三种方式如下:给定执行权限后,用路径执行,会在系统中开启新的解释器,类型为脚本幻数中指定类型:
5.对脚本进行调试:
sh -x /mnt/westos.sh
+ ##运行指令
不带+ ##命令运行的输出
6.脚本练习:
6-1:ip_show.sh 网卡 显示当前的ip地址:
6-2:host_messages.sh 显示当前主机的名称,ip,登陆当前主机的用户
hostname: xxxxx
ipaddress: xxxx.xxxx.xxx.xxx
username: root
6-3:clear_log.sh 执行次脚本后可以清空日志
awk ‘/dsfs/ {print }’ /etc/passwd 表示在/etc/passwd/中过滤关键字dsfs