目录
Shell简介
Shell变量
命名规则
变量使用
单双引号的使用
字符串
单引号的限制
字符串常用方法
拼接字符串
提取子字符串
传递参数详解
特殊字符做参数
数组定义及常用方法
概述
算数运算符使用
运算符说明
关系运算符使用
运算符说明
布尔运算符的使用
字符串运算符的说明
文件测试运算符的使用
echo字符串输出详解
printf格式化输出
语法
printf转义序列详解
test检查条件是否成立
ifelse条件分支语句
for循环详解
while循环详解
until循环详解
case语句详解
跳出循环语句
函数
Shell简介
Shell是用C语言写的,是用户使用Linux的桥梁。Shell既是一种编程语言,又是一种程序设计语言。Shell是一种应用程序,这个应用程序提供一个界面,用户通过这个界面访问操作Linux内核服务。
echo "hello world" 输出
编写shell脚本:首先创建一个.sh的文件,vim编辑,执行:首先需要赋予该文件执行的权限,再用
./文件名.sh 或者 sh 文件名.sh 执行。
Shell变量
命名规则
变量使用
例如定义一个变量并输出:(注意:$和name中间不能加空格)echo $name 或者echo ${name}
&:取值符号
readonly url:只能读echo,不能修改=
单双引号的使用
字符串
是shell编程中最常用最有用的数据类型(除了数字、字符串,也没啥其他类型好用了),字符串可以用单引号也可以用双引号,也可以不用引号,单双引号的区别:括在双引号中的三种特殊字 符不被忽略:$,,`,即双引号会解释字符串的特别意思,而单引号直接使用字符串。如果使用双引号将字符串赋给变量并反馈它,实际上与直接反馈变量并无差别。如果要查询包含空格的字符串,经常会用到双引号。
单引号的限制
双引号可以有转义字符和变量(加-e输出转义字符)
字符串常用方法
拼接字符串
尽量使用双引号
提取子字符串
传递参数详解
特殊字符做参数
特殊字符说明:
数组定义及常用方法
概述
数组中可以存放多个值。Bash Shell 只支持一维数组,初始化时不需要定义数组大小。且数组元素的下标由0开始。
语法:array_name=(value1......valuen)
算数运算符使用
运算符说明
if[ $a ] 坑1:if中必须有空格,不能直接挨着
关系运算符使用 运算符说明
布尔运算符的使用
字符串运算符的说明
文件测试运算符的使用
作用:用于检测Linux文件的各种属性
关键字then(如果少写,则会报错else巴拉巴拉)
echo字符串输出详解
语法:
输出字符串:echo string
输出转义字符:echo ""It is a test" "(输出双引号)
显示换行:echo -e "OK! n" # -e:开启转义
接收输入值并显示出来:vim .sh
boss为输入的值
echo的其他用法:
printf格式化输出
printf比echo更强大:能做格式化输出;
printf放在脚本.sh中(最后一定要有fi结束)才执行,echo可以直接在控制台输出
语法
printf format-string [arguments...]
format-string:为格式控制字符串;arguments:为参数列表
s:字符占位符;nf:表n位小数
printf转义序列详解
test检查条件是否成立
测试类型:(测试即检查)
数值测试
字符串测试
文件测试
同上(使用文件的语法加上test即可)
ifelse条件分支语句
if语法格式:
if else语法格式:else不能为空语句,必须有命令才能加else
也可以在一行显示,每一句由分号分隔即可
for循环详解
for语法格式:关键字(do:执行;done:结束)循环打印每个字符
for loop:与for有区别
while循环详解
语法:可以无限循环(for(;;;))(慎用,容易进入死循环!)
int为变量名
交互:
book是变量名,等待输入;ctrl+d退出
until循环详解
概述:(shell中的一种特殊的循环)
语法格式:
case语句详解
概述:shell case语句多为选择语句,可以用case语句匹配一个值与一个模式,若匹配成功,则执行相匹配的命令。
语法规则:
说明 * 代表了默认值(除了上述情况输出)
跳出循环语句
概念:shell使用break(直接退出)和continue(本次退出)来实现当条件不满足时跳出循环
函数
语法:
传入参数
上面这些够脚本使用了。



