当前位置: 技术问答>linux和unix
shell 不懂,请大侠们帮帮忙
来源: 互联网 发布时间:2017-05-30
本文导语: 请问如下的shell是什么含义? local __var="${JSON_PREFIX}${__cur}_${2//[^a-zA-Z0-9_]/_}" | 定义一个局部变量 __var 该变量的值由4部分组成: 1、变量 ${JSON_PREFIX} 的值 2、变量 ${__cur} 的值 3、下划线 _ 4...
请问如下的shell是什么含义?
local __var="${JSON_PREFIX}${__cur}_${2//[^a-zA-Z0-9_]/_}"
local __var="${JSON_PREFIX}${__cur}_${2//[^a-zA-Z0-9_]/_}"
|
定义一个局部变量 __var
该变量的值由4部分组成:
1、变量 ${JSON_PREFIX} 的值
2、变量 ${__cur} 的值
3、下划线 _
4、把第二个位置参数里面的非字母数字的字符替换成下划线之后的字符串,比如原来第二个位置参数是 a/B+1,那么就会得到字符串 a_B_1
该变量的值由4部分组成:
1、变量 ${JSON_PREFIX} 的值
2、变量 ${__cur} 的值
3、下划线 _
4、把第二个位置参数里面的非字母数字的字符替换成下划线之后的字符串,比如原来第二个位置参数是 a/B+1,那么就会得到字符串 a_B_1
|
大概是一段用shell parse json的script
local 说明此句出现在某个function中,定义 __var = 后面
JSON_PREFIX 和 __cur 正常variable 扩展
唯一需要说明是 ${2}的语法,属于variable parameter substitution, 参见
http://tldp.org/LDP/abs/html/parameter-substitution.html
${var//Pattern/Replacement}
Global replacement. All matches of Pattern, within var replaced with Replacement.
As above, if Replacement is omitted, then all occurrences of Pattern are replaced by nothing, that is, deleted.
local 说明此句出现在某个function中,定义 __var = 后面
JSON_PREFIX 和 __cur 正常variable 扩展
唯一需要说明是 ${2}的语法,属于variable parameter substitution, 参见
http://tldp.org/LDP/abs/html/parameter-substitution.html
${var//Pattern/Replacement}
Global replacement. All matches of Pattern, within var replaced with Replacement.
As above, if Replacement is omitted, then all occurrences of Pattern are replaced by nothing, that is, deleted.