shell数组实践
#!/bin/bash
#常规操作打印数组内容
#array=(1 2 3 4 5)
#array=(`ls /tmp`)
array=(
192.168.56.10
192.168.56.12
192.168.56.13
192.168.56.14
192.168.56.15
)
for n in ${array[*]}
do
echo $n
done
echo =========================
#c语言的方式来循环打印数组内容
#i为数组下标
for ((i=0;i<${#array[*]};i++))
do
echo ${array[i]}
done
数组和shell循环实现文本内容匹配 应用场景: 通过服务的路径找到服务的名字,或者名字来对应找到路径,可用于当服务名字和路径不统一的时候,用于自动化的部署脚本。
#!/bin/bash
array=(
`awk -F '[ ]+' '{print $2}' a.txt`
)
for dir in ${array[*]}
do
if [ $dir == "/root" ]
then
echo 当前的路径是:$dir 对应的服务名字是: `grep ${dir} a.txt|awk '{print $1}'`
fi
done
统一管理的文本示例
[root@linux-node1 scripts]# cat a.txt
servicename dir
aaa /root
bbb /data
ccc /tmp
ddd /opt
[root@linux-node1 scripts]# sh deploy.sh
“当前的路径是:/root 对应的服务名字是:aaa
对文件的判断
对字符串的比较
对整数的比较