1 什么是shell脚本
1 shell除了是命令解释器之外还是一种编程语言,用shell编写的程序类似于DOS下的批处理程序
2 用户可以在文件中存放一系列的命令,通常将shell编写的程序称为shell脚本或者shell程序
3 将命令,变量和流程控制有机递结合起来将会得到一个功能强大的编程工具。shell脚本语言非常擅长处理文本类型的的数据,由于Linux系统中的所有的配置文件都是纯文本的,所以shell脚本语言在管理Linux系统中发挥了巨大的作用
2 shell脚本的成分
1 shell脚本是以行为单位的,在执行脚本的时候会分解为一行一行依次执行,脚本中所包含的成分主要有:注释,命令,shell变量和结构控制语句
2 注释:注释部分是用于对脚本进行解释和说明,在注释行的前面加上符号#,这样在执行脚本的时候shell就不会对该行进行解释
3 命令:在shell脚本中可以出现任何交互式下可以使用的命令
4 变量:shell支持两种的数据类型字符串变量和整型变量
5 结构控制语句:用于编写复杂脚本的流程控制语句
3 shell脚本的建立与执行
1 用户可以使用任何的文本编辑器创建shell脚本文件,比如vi,gedit等等
2 对shell脚本的执行有两种方法
1 一种是将文件名作为shell命令的参数,调用格式
sh 文件名
2 另外一种是./文件名
但是当我们执行这份额脚本文件的时候,发现提示我们没有执行权限,所以以第二种方式来执行的时候我们必须改变这个文件的权限,使得它具有执行的权限
3 当执行一个脚本文件的时候,shell就产生一个子shell(即子进程)去执行命令中的命令,因此文件中的变值不能传递到shell中
4 shell脚本的编码规范
1 一个bash脚本的正确的起始部分是应该以#!开头:#!/bin/bash
2 在调用bash脚本的时候,以#!开头的语句通知系统用何解释器执行脚本
3 如果默认的shell是bash可以不用写,但是良好的shell编码规范要求我们必须要注明是用什么解释器在执行
5 shell实例分析
1 首先ubuntu系统下的默认的shell是dash,ubuntu下的sh只是默认shell的链接,我们可以利用 ls /bin/sh -l 来查看默认的shell

2 我们可以使用以下两种方法来更改默认的shell
1 sudo dpkg-reconfigure dash, 然后选择
no 或者 否 ,并确认。这样做将重新配置 dash,并使其不作为默认的 shell 工具
2 也可以直接修改 /bin/sh 链接文件,sudo
ln -fs /bin/bash /bin/sh 将其指定到 /bin/bash。
3 接下来我们来创建一个shell的脚本,命名为s.sh

4 接下来我们利用两种方法来执行,利用第二种的时候要先更改权限
