文章目录
1 shell脚本概述:
shell脚本是利用shell的功能所写的一个程序,这个程序是使用纯文本文件,将一些shell的语法和命令写在里面,搭配正则表达式,管道命令与数据流重定向功能。后缀为.sh。
2 shell脚本编写流程
注意在这里./test.sh 这种执行后方式会出现没有权限的错误因此我们需要将文件授予最高权限,用chmod命令。0777就是最高权限。
另外在编写.sh文件的时候 需要在最上面加上#!/bin/bash 说明用的是这个路径下的shell
shell脚本不需要编译,他是一个解释型文件。
3 shell变量
3.1 变量的介绍
3.2 变量的作用
用来存放系统和用户需要使用的特定参数
变量名:使用固定名称,有系统预设或用户定义
变量值:能够根据用户设置,系统环境的变化而变化
3.3 变量的命名要求
3.4 变量的分类
3.4.1 用户自定义变量
在shell脚本编程中 等号两边没有空格
若自定义变量使用完 不想用了 用unsent删除
用户自定义变量-取值
双引号:弱引用,可以替换为变量值
单引号:强引用,保持输出,不可替换
反撇号:命令替换,提取命令执行后的输出结果
命令替换 A=echo $COUNT 命令是错误的不可以这么赋值
需要将echo命令加上反撇号才能赋值成功,或者在echo命令之外加上小括号
用户自定义变量-数组
在shell脚本编程中数组用小括号,若要打印数组内全部元素如下了图所示
*和@都可以,打印数组元素个数要在前面加#,若要取某一个元素直接对应元素号即可。
3.4.2 只读变量
不可以被修改和删除,关闭终端,强制关掉
3.4.3 位置变量和预定义变量
在./test.sh 后面进行传参。 #表示一共传了几个参数,@表示所有参数
?表示上一个命令执行的结果,上一个执行结果是什么?执行的结果就是什么
3.4.4 环境变量
4 shell语句
4.1 shell程序
shell程序由零或多条shell语句构成,shell语句包括三类:
说明性语句
功能性语句
结构性语句
4.2 说明性语句(注释)
4.3 功能性语句
类似于之前find命令,grep命令等等
补充:
read命令
从标准输入读一行,并赋值给后面的变量
语法:
read var 把读入的数据全部赋给var
read var1 var2 var3 把读入行中的第一个单词给var1,第二个单词给var2,…把其他所有词给最后一个变量
类似于c语言当中scanf 键盘输入
一个read 读取两个数据,用空格隔开
-p 提示
-t 规定时间,上图为三秒过后结束
-s 输入不显示,直接打印出结果
expr命令
运算命令
除了=以外加减均需要左右两边空格
乘法需要进行转译 *
test命令
4.4 结构性语句