shell
1.shell是一个用c语言编写的程序,它是用户使用Linux的桥梁,shell即是一种命令语言,又是一种程序设计语言
shell脚本,是一种为shell编写的脚本程序
由于是测试,不是运维,所以掌握基础的就可以了
2.shell基础
输出字符串 echo : 'xxx'
定义变量 name='xxx' age=11
使用变量 echo ${name}
echo "this is ${name}, age is ${age}"
字符串拼接 name="xxx" msg="hello,${name}"
获取字符串长度 echo "${#name}" //输出3
获取子字符串 echo "${name:2:2}" //第一个2表示从第几位开始截取(从0开始),第二个2表示截取的长度
shell中的数组
1.定义数组(空格隔开)
city=("beijing" "shanghai" "hangzhou")
2.读取数组
echo "${city[0]}"
3.修改数组中的值
city[1]="shenzhen"
4.获取数组长度
echo ${#city[@]}
shell脚本
创建一个空的shell脚本 touch test.sh
给脚本可以执行的权限 chmod +x test.sh
shell脚本的第一行是 #!/bin/bash
获取执行脚本传递的参数
$0 脚本文件的名称 (在脚本里不用加大括号 { })
$1 第一个参数
$n 第n个参数
$# 传递参数的个数
$@ 所有参数
shell脚本执行命令
在脚本中可以任意执行linux命令
如果想获取某个Linux命令的执行结果,需要使用反引号,如 result=`ls`
shell关系运算符(仅使用于数字)
-eq 相等
-ne 不相等
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于
shell逻辑判断-if。。。else
语法格式
if [ 条件 ] //注意 [] 和条件之间必须有空格
then
命令1
命令2
elif [ 条件 ]
then
命令3
else
命令4
fi
shell字符串运算符
= 判断两个字符串是否相等
!= 判断两个字符串不相等
-z 检测字符串长度是否为0,为0,返回true
-n 检测字符串长度是否不为0,不为0返回true
$ 检测字符串是否为空,不为空返回true
shell逻辑运算符
&& 与的逻辑
|| 或的逻辑
shell文件运算符
-d file 检测文件是否是目录,是返回true
-f file 检测文件是否是普通文件(既不是目录,也不是设备文件),如果是,则返回true
-e file 检测文件(包括目录)是否存在,如果是,则返回true
shell算数运算
使用算数运算,需要借助let命令
格式: let c=1+1
+ 加法
- 减法
* 乘法
/ 除法
% 取余
= 赋值
== 相等,用于比较两个数字,相同则返回true
!= 不相等,用于比较两个数字,不相同则返回true
shell流程控制-for循环
数组遍历
for i in 数组
do
语句
done
索引遍历
for((m=0;m<${#数组[@]};m++))
do
语句
done
shell流程控制-while循环
while(( 条件 ))
do
语句1
语句2
done
注意:在while循环中自增,使用let var++