我想知道这是否可行:
scriptname:测试
#! /bin/bash i=2 arg=`echo "$"$i` echo $arg #value should be the value of $2 and not just '$2' string echo $2 exit 0
命令:测试b
产量
$2 b
有没有办法让$arg的值等于$2的值是“b”,而不只是显示字符串“$2”,而不是直接将$2的值分配给$arg,arg = $2?
尝试这样做arg = echo ${$i}但是我得到了这个错误:测试:${$i}:错误的替换
提前致谢
解决方法
是;你可以使用间接扩展,如下所示:
i=2 arg="${!i}" # equivalent to: arg="$2"
见第§3.5.3 “Shell Parameter Expansion” in the Bash Reference Manual段第4段.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。