【发布时间】:2011-05-30 14:56:06
【问题描述】:
我在函数中声明了一个本地变量 (a),它接收第一个参数 (${1}) 的值。当我在第一个参数的内容中用星号调用它时,值分配有不同的处理方式。为什么?
# function_name () { local a="${1}"; echo $a; }
# set -xv && function_name "param_1_*" && set +xv
set -xv && function_name "param_1_*" && set +xv
+ set -xv
+ function_name 'param_1_*'
+ local 'a=param_1_*'
+ echo 'param_1_*'
param_1_*
+ set +xv
注意:+ local 'a=param_1_*'
# function_name () { a="${1}"; echo $a; }
# set -xv && function_name "param_1_*" && set +xv
+ function_name 'param_1_*'
+ a='param_1_*'
+ echo 'param_1_*'
param_1_*
+ set +xv
注意:+ a='param_1_*'
【问题讨论】:
-
@Rob:你应该把它作为答案。
标签: bash function shell variables