5
#check if the name is valid
function myfunc()
{
    #check "${1}"
    #echo "valid/invalid"
}

#these should return valid
myfunc "my_number"
myfunc "my_number1"

#these should return ivalid 
myfunc "1my_number"
myfunc "1my _number"
myfunc "my number"
myfunc "my_number?"

などなど、変数名には文字、数字(ただし、先頭は不可)、..のみを含めることができ、Javaのすべてのルールと同様に...

使える機能はありますか?車輪の再発明をしたくない...

4

2 に答える 2

8

次のように、変数名を正規表現と照合します。

myfunc() {
    if [[ "$1" =~ ^[a-z][a-zA-Z0-9_]*$ ]]
    then
        echo "$1: valid"
    else
        echo "$1: invalid"
    fi
}
于 2012-11-08T17:24:49.093 に答える