加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell编程常见知识点

发布时间:2020-12-15 21:53:09 所属栏目:安全 来源:网络整理
导读:shell数组实践 #!/bin/bash#常规操作打印数组内容#array=(1 2 3 4 5)#array=(`ls /tmp`)array=(192.168.56.10192.168.56.12192.168.56.13192.168.56.14192.168.56.15)for n in ${array[*]}do echo $ndoneecho =========================#c语言的方式来循环打
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
统一管理的文本示例
[[email?protected] scripts]# cat a.txt 
servicename   dir
aaa            /root
bbb            /data
ccc            /tmp
ddd            /opt 

[[email?protected] scripts]# sh deploy.sh 
“当前的路径是:/root  对应的服务名字是:aaa

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读