Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux bash变量间接寻址可以';t包含函数参数的echo变量?_Linux_Bash_Shell - Fatal编程技术网

Linux bash变量间接寻址可以';t包含函数参数的echo变量?

Linux bash变量间接寻址可以';t包含函数参数的echo变量?,linux,bash,shell,Linux,Bash,Shell,我想回显一个包含函数参数的变量,如下所示:echo${str1\ustr2} 脚本如下所示: 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" loc

我想回显一个包含函数参数的变量,如下所示:
echo${str1\ustr2}

脚本如下所示:

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
输出:

foobar 福巴