我想回显一个包含函数参数的变量,如下所示:echo ${str1_$1_str2}
脚本是这样的:
func_test () {
eval str1_$1_str2=sucker
echo ${str1_$1_str2}
}
func_test 1
当我执行 shell 脚本时,错误说:
${str1_$1_str2}: bad substitution
问题出在哪里?
间接参数扩展可能会有所帮助:
func_test(){
declare str1_$1_str2="foobar"
local x="str1_${1}_str2"
echo "${!x}"
}
func_test 222
输出:
福巴