系统相关
首页 > 系统相关> > linux – 用于检查变量名称是否有效的Bash命令

linux – 用于检查变量名称是否有效的Bash命令

作者:互联网

#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的所有规则一样……

我可以使用任何功能吗?我不想重新发明轮子……

解决方法:

将变量名称与正则表达式匹配,如下所示:

myfunc() {
    if [[ "$1" =~ ^[a-z][a-zA-Z0-9_]*$]]
    then
        echo "$1: valid"
    else
        echo "$1: invalid"
    fi
}

标签:variable-names,linux,shell,naming-conventions
来源: https://codeday.me/bug/20190729/1570442.html