一.shell的简述
1.在正式进入shell脚本编程前,首先不得不说下shell了,shell的话通俗来说就是一个命令解释器,它用于用户操作内核的一个工具。Shell是Linux学习过程中很重要的一部分,它有两种执行命令的方式:交互式(Interactive),用户输入一条命令,Shell就解释执行一条;批处理(Batch),用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。
2.shell脚本概述
shell脚本是利用shell的功能所写的一个程序。这个程序是使用纯文本文件,将一些shell的语法与命令写在里面,搭配正则表达式、管道命令与数据流重定向等功能
3.shell脚本编写步骤:
(1)需求分析
(2)命令测试
(3)脚本编写
(4)测试调优
4.编写第一个shell脚本文件
(1)创建一个shell目录,然后cd目录,在里面创建一个test.sh的文件,注意后缀名
(2)编写下面程序,#!是我们说明的内容,这一行的命令的意思是我们用的是bash的shell类型
(3)由于shell是解释型语言,因此不需要编译,直接执行,有三种方式可以执行如下:
二.shell脚本变量
1.变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念
2.变量可以通过变量名访问。在指令式语言中,变量通常是可变的
3.变量的作用:用于存放系统和用户需要使用的特定参数,变量名使用固定的名称,由系统预设或用户定义,变量值:能够根据用户设置、系统环境的变化而变化
4.变量的分类:
5.vim test.sh 然后加入变量,并且执行它如下:
6.如果变量不想要的话就加入unset命令,用法如下:
7.用户自定义变量
(1)取值:“ ”允许通过$符号引用其他变量值,‘’单引号禁止引用其他变量值,反撇号` `可以命令替换,提取命令执行后的输出结果并且和$()效果一样
(2)数组:
*创建数组并且显示,中阔号中间的*可以换成@是一样的:
*执行后如下:
*取数组元素的个数以及取某一个元素如下:
*删除数组一个元素
*删除整个数组那么就直接unset a即可
*打印出来指定下标的元素
(3)只读变量
*变量值不允许修改
*无法使用unset删除,因为变量值为只读
*最快方法重启
*readonly
(4)位置变量和预定义变量
*位置变量穿参数,$0与键入的命令行一样,echo$#表示的命令行传入的参数个数,不包含./test3.sh
*$?为上一条语句的执行结果,$*输出参数的所有值,$$表示当前的ID进程号
*环境变量
PATH和USER的的环境变量的打印,PATH是现在的工作路径,后期可以自定义环境变量,如下: