$var
具有位置参数的位置并想要替换并打印位置参数。
/home/yeshky>echo $1
/home/yeshky>abc
/home/yeshky>var=1
/home/yeshky>echo "You have opted for $`$var`"
预期结果:/home/yeshky>You have opted for abc
====已尝试替换以下内容但没有成功:
echo "You have opted for $$((var))"
echo "You have opted for $($((var)))"
答案1
你想要的是间接的。在bash
和其他一些外壳中你可以做
printf '%s\n' "${!var}"
打印名称存储在变量中的变量的值var
您必须使用大括号来访问变量才能执行此操作,并且大括号内的第一个字符必须是!
。然后剩下的就是包含要检索的变量名称的变量名称。
有关更多内容,请参阅这里当然,特别是关于间接的部分