一、对shell的理解以及shell脚本的意义
1、什么是shell
①shell是保护内核的壳,是操作系统最外面的一层
②shell是操作系统与外界交互的工具:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
③从脚本的角度出发,shell是脚本中的命令解释器:它接收用户命令(如ls等),然后调用相应的应用程序。
2、shell脚本存在的意义
①记录命令执行的过程和逻辑,以便以后重复使用
②脚本可以批量处理主机
③脚本可以定时处理主机
Shell脚本就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。
二、如何编写执行shell脚本
在linux系统中,shell脚本通常是在编辑器vim中编写,由Unix/Linux命令、bash shell命令、程序结构控制语句和注释等内容组成。
脚本开头:
一个规范的shell脚本在脚本第一行会指出由哪个程序(解释器)来执行脚本中的内容,这一行内容在linux bash编程中一般为:
#! /bin/bash或#! /bin/sh
其中开头的"#!“字符又称为幻数,在执行bash脚本的时候,内核会根据”#!"后的解释器来确定该用哪个程序解释这个脚本的内容
1、vim自动添加脚本首部
在shell脚本中,我们需要添加注释对脚本进行解释说明,注释部分不会被当做程序执行,仅仅是给用户看,系统解释器是看不到的,更不会执行。开发脚本时,如果没有注释,团队里的其他人就很难理解脚本究竟在做什么,如果时间上了自己也会忘记。
编写/etc/vimrc文件给脚本文件自动添加注释
2、执行shell脚本
执行shell脚本的方法有三种:
①手动在环境中开启指定解释器
格式为sh script.sh
在当前shell中开启一个手动指定的sh
②直接在当前环境中运行shell的指令而不开启新的shell
格式为:source script.sh
或者. script.sh
③开启脚本中指定的shell并用此shell环境运行脚本中的指令
格式为:
chmod +x script.sh
./script.sh
绝对路径/script.sh
更改脚本中指定的解释器
再次用此方法运行脚本
三、脚本的调试
格式:sh -x script.sh