shell 不懂,请大侠们帮帮忙解决思路
shell 不懂,请大侠们帮帮忙
请问如下的shell是什么含义?
local __var="${JSON_PREFIX}${__cur}_${2//[^a-zA-Z0-9_]/_}"
------解决思路----------------------
大概是一段用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.
------解决思路----------------------
定义一个局部变量 __var
该变量的值由4部分组成:
1、变量 ${JSON_PREFIX} 的值
2、变量 ${__cur} 的值
3、下划线 _
4、把第二个位置参数里面的非字母数字的字符替换成下划线之后的字符串,比如原来第二个位置参数是 a/B+1,那么就会得到字符串 a_B_1
请问如下的shell是什么含义?
local __var="${JSON_PREFIX}${__cur}_${2//[^a-zA-Z0-9_]/_}"
------解决思路----------------------
大概是一段用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.
------解决思路----------------------
定义一个局部变量 __var
该变量的值由4部分组成:
1、变量 ${JSON_PREFIX} 的值
2、变量 ${__cur} 的值
3、下划线 _
4、把第二个位置参数里面的非字母数字的字符替换成下划线之后的字符串,比如原来第二个位置参数是 a/B+1,那么就会得到字符串 a_B_1