Linux—數(shù)組/包含關(guān)系判斷/正則判斷的shell腳本

數(shù)組

使用括號(hào)及空格來賦值數(shù)組。

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

正則

使用=~判斷正則關(guān)系。

#!/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

包含關(guān)系

構(gòu)建一個(gè)包含判斷的方法進(jìn)行使用。

#!/bin/bash
user_name=$1

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

# 判斷包含關(guān)系
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
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容