一.数组
1.数组的定义
- 方法一
array=(value1 value2 value3...)
# 输出定义的数组
echo ${array[*]}
echo ${array[@]}
- 方法二
array=([0]=one [1]=two [2]=three)
- 方法三
array[0]=one
array[1]=two
array[2]=three
- 方法四:动态地定义数组变量
array=($(命令))
array=(`命令`)
2.数组元素的输出
# 输出定义的数组所有元素
echo ${array[*]}
echo ${array[@]}
# 输出单个元素
echo ${array[0]}
3.数组的删除
# 删除单个元素
unset array[2]
# 删除整个数组
unset array
4.数组的截取
# 从下标为1开始截取,截取总共3个元素
echo ${array[@] :1:3}
5.数组的替换
# 将数组中元素为2的替换为4,但输出数组时其中的元素还是原来的
echo ${array[@]/2/4}
6.关联数组
用关联数组可以使用字符串作为数组索引,不过需要先声明
# 声明关联数组
declare -A array
array=([no]=bb [yes]=aa)
# 使用 ! 获取索引值
echo ${!array[@]}
二.grep命令
在一个或多个文件中查找特定模式的字符串,如果有匹配到字符串,则输出整个行的内容;若没有匹配到,则不输出如何内容
grep [参数] 需要查找的字符串 文件名1 文件名2
常用参数
参数 | 说明 |
---|---|
-i | 忽略大小写 |
-n | 显示输出当前一行的行号 |
三.Expect工具
expect用于实现自动和交互式任务进行通信
1.命令
命令 | 说明 |
---|---|
spawn | 调用要执行的命令 |
expect eof | 于spawn对应,表示捕捉终端输出信息终止 |
expect | 监听交互输出 |
send | 进行交互输入 |
set | 设置变量值 |
interact | 交互完成后,将控制权交给控制台 |
settimrout n | n为-1时表示expect永不超时,设为其他值时,表示在n后没有捕捉到expect的监听内容,则退出 |