(4)shell脚本编程进阶之数组、字符串切片

2017-07-06  本文已影响0人  王王王小白

(一)数组定义

(二)引用数组

示例:生成10 个随机数保存于数组中,并找出其最大值和最小值
#!/bin/bash
declare -a rand
declare -i max=0
declare –i min=32767
for i in {0..9}; do
rand[$i]=$RANDOM
echo ${rand[$i]}
[ ${rand[$i]} -gt $max ]&& max=${rand[$i]}
[ ${rand[$i]} -lt $min ]&& min=${rand[$i]}
done
echo "Max: $max Min:$min"

编写脚本,定义一个数组,数组中的元素是/var/log 目录下所有以
.log 结尾的文件;要统计其下标为偶数的文件中的行数之和
#!/bin/bash
declare -a files
files=(/var/log/.log)
declare -i lines=0
for i in $(seq 0 $[${#files[
]}-1]); do
if [ $[$i%2] -eq 0 ];then
let lines+=$(wc -l ${files[$i]} | cut -d' ' -f1)
fi
done
echo "Lines: $lines."

(三)字符串切片

(1)字符串处理切片
(2)字符串处理
(2)字符串查找替换

(三)高级变量用法-有类型变量

(1)declare命令

Shell 变量一般是无类型的,但是bash Shell 提供了declaretypeset
declare [ 选项] 变量名
-r 声明或显示只读变量
-i 将变量定义为整型数
-a 将变量定义为数组
-A 将变量定义为关联数组
-f 显示此脚本前定义过的所有函数名及其内容
-F 仅显示此脚本前定义过的所有函数名
-x 声明或显示环境变量和函数
-l 声明变量为小写字母
declare –l var=UPPER
-u 母 声明变量为大写字母
declare –u var=lower

(2)eval 命令
(3)间接变量引用
上一篇下一篇

猜你喜欢

热点阅读