shell 数组遍历踩坑记

公司这边,有服务需要用crontab进行重启,于是把需要重启的服务放到shell脚本中,一开始,脚本如下:

#!/bin/bash

SERVICES=('service1' 'service2' 'service3' 'service4')

for x in ${SERVICES[*]}:
do
    echo 'restart service: '$x
    /usr/local/bin/supervisorctl restart $x
    # 每隔 5 分钟重启一个服务
    echo 'sleep 5 minutes'
    sleep 300
done

然后发现最后一个服务没有重启,尝试了很多次,最后面发现原来是:问题造成的,修正后正确执行的代码如下:

#!/bin/bash

SERVICES=('service1' 'service2' 'service3' 'service4')

for x in ${SERVICES[*]}:
do
    echo 'restart service: '$x
    /usr/local/bin/supervisorctl restart $x
    # 每隔 5 分钟重启一个服务
    echo 'sleep 5 minutes'
    sleep 300
done

参考: http://www.voidcn.com/article/p-bgukqzyx-ko.html

转载于:https://my.oschina.net/u/2009560/blog/3101687

你可能感兴趣的:(shell)