Linux—数组/包含关系判断/正则判断的shell脚本


技术公众号:后端技术解忧铺
关注微信公众号:CodingTechWork,一起学习进步。

数组

使用括号及空格来赋值数组。

#!/bin/bash
user_array=("user01" "user02" "user03")
user_array_length=`echo ${#user_array[@]}`
echo "user array length : $user_array_length" 

正则

使用=~判断正则关系。

#!/bin/bash
user_name=$1
group_name=$2
if [[ $user_name =~ ^[a-z0-9_-]{1,32}$ && $group_name =~ ^[a-z0-9_-]{1,32}$ ]]
then
	echo "user_name: $user_name, group_name: $group_name valid!"
else
	echo "user_name: $user_name, group_name: $group_name invalid!"
	exit 1
fi

包含关系

构建一个包含判断的方法进行使用。

#!/bin/bash
user_name=$1

user_array=("user01" "user02" "user03")
user_array_length=`echo ${#user_array[@]}`
echo "user array length : $user_array_length" 

# 判断包含关系
function contains() {
	local n=$#
	local value=${!n}
	for ((i=1;i < $#; i++)) {
		if [ "${!i}" == "${value}" ]; then
			echo "y"
			retrun 0
		fi
	}
	echo "n"
	return 1
}

# judge
if [ $(contains "${user_array[@]" "$user_name") == "y" ];
then
	echo "user_name: $user_name may be contains in array, please check it!"
	exit 1
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值