Bash中的动态变量名我对巴什剧本很困惑。我有以下代码:function grep_search() {
magic_way_to_define_magic_variable_$1=`ls | tail -1`
echo $magic_variable_$1}我希望能够创建一个变量名,其中包含命令的第一个参数,并带有例如ls.为了说明我想要的$ ls | tail -1stack-overflow.txt
$ grep_search() open_box
stack-overflow.txt那么,我应该如何定义/声明$magic_way_to_define_magic_variable_$1在剧本里我该怎么称呼它呢?我试过了eval, ${...}, \$${...}但我还是很困惑。
3 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
# Requires bash 4, thoughdeclare -A magic_variable=()function grep_search() { magic_variable[$1]=$( ls | tail -1 ) echo ${magic_variable[$1]}}
bash
declare
declare "magic_variable_$1=$(ls | tail -1)"
var="magic_variable_$1"echo "${!var}"
RISEBY
TA贡献1856条经验 获得超5个赞
suffix=bzz declare prefix_$suffix=mystr
varname=prefix_$suffix echo ${!varname}
添加回答
举报
0/150
提交
取消