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

shell学习

发布时间:2020-12-15 16:30:54 所属栏目:安全 来源:网络整理
导读:一、数组 1、数组遍历 #!/bin/bash SUPPORTED_OPENSTACK_VERSION=( 'libtery' 'mitaka' 'ocata' ) for var in ${SUPPORTED_OPENSTACK_VERSION[@]} do echo $var done 运行结果 root @vSOM :~ # ./test.sh libterymitakaocata 2、判断元素是否在数组中 #!/bin

一、数组

1、数组遍历

#!/bin/bash
SUPPORTED_OPENSTACK_VERSION=('libtery' 'mitaka' 'ocata')
for var in ${SUPPORTED_OPENSTACK_VERSION[@]}
do
    echo $var
done

运行结果

root@vSOM:~# ./test.sh 
libtery
mitaka
ocata

2、判断元素是否在数组中

#!/bin/bash
OPENSTACK_VERSION=('libtery' 'mitaka' 'ocata')
echo "please input openstack version:"
read version
if [[ "${OPENSTACK_VERSION[@]}" =~ ${version} ]]; then
    echo "$version in vesion array"
else
   echo "$version not in version array"
fi

运行结果

root@vSOM:~# ./test.sh 
please input openstack version:
mitaka
mitaka in vesion array
root@vSOM:~# ./test.sh 
please input openstack version:
juno
juno not in version array

3、数组实现菜单选择

#!/bin/bash 
SUPPORTED_OPENSTACK_VERSION=('libtery' 'mitaka' 'ocata')
echo "Please choose openstack version:"
select var in ${SUPPORTED_OPENSTACK_VERSION[@]};do
    echo "selected version:$var"
    break
done

运行结果

root@vSOM:~# ./test.sh 
Please choose openstack version:
1) libtery
2) mitaka
3) ocata
#? 2
selected version:mitaka

4、字符转换成数组

#!/bin/bash 
SUPPORTED_OPENSTACK_VERSION_STR='libtery mitaka ocata'
SUPPORTED_OPENSTACK_VERSION_ARRAY=($SUPPORTED_OPENSTACK_VERSION_STR)
for var in ${SUPPORTED_OPENSTACK_VERSION_ARRAY[@]}
do
   echo $var
done

运行结果

root@vSOM:~# ./test.sh 
libtery
mitaka
ocata

如果字符串的分隔符不是空格,可以将IFS设置成相应的分隔符,再转成数组,如下所示:

#!/bin/bash 
SUPPORTED_OPENSTACK_VERSION_STR='libtery;mitaka;ocata'
IFS=";"
SUPPORTED_OPENSTACK_VERSION_ARRAY=($SUPPORTED_OPENSTACK_VERSION_STR)
for var in ${SUPPORTED_OPENSTACK_VERSION_ARRAY[@]}
do
   echo $var
done

运行结果同上

二、字典

1、字典的定义和使用

declare -A NEUTRON_AGENT_SUPPORTED_VERSION
NEUTRON_AGENT_SUPPORTED_VERSION=([libtery]='7.2.0' [mitaka]='8.3.0' [ocata]='10.0.1')
echo "${NEUTRON_VERSION[mitaka]}"

运行结果

root@vSOM:~# ./test.sh 
8.3.0

三、字符串

1、分割字符串

#!/bin/bash
OPENSTACK_VERSION_STR='libtery;mitaka;ocata'
echo $OPENSTACK_VERSION_STR | cut -d ';' -f1 
echo $OPENSTACK_VERSION_STR | cut -d ';' -f3

运行结果

root@vSOM:~# ./test.sh 
libtery
ocata

也可以用下面的方法

#!/bin/bash
OPENSTACK_VERSION_STR='libtery;mitaka;ocata'
echo $OPENSTACK_VERSION_STR | awk -F ';' '{print $1}'
echo $OPENSTACK_VERSION_STR | awk -F ';' '{print $3}'

运行结果同上

(编辑:李大同)

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

    推荐文章
      热点阅读