我从脚本用户那里获取变量的名称作为第一个参数,并将该变量的值回显到控制台:
#!/bin/bash
variablename=$1
echo "The value of $variablename is: " ${!variablename}
这太棒了!
我无法开始工作的是,如果我想将该变量更改为用户的第二个参数的值。一个语法错误的例子是:
#!/bin/bash
variablename=$1
echo "The value of $variablename is: " ${!variablename}
echo "I will now try to change the value into $2."
(!variablename}=$2
# The above line generates: {!variablename}=2: command not found
换句话说:如果可能的话,我如何获得一个变量name来自用户并且读取(已解决)并写入所述变量?
在寻求帮助几分钟后,我突然灵光一现,我想我有一个解决方案:
#!/bin/bash
variablename=$1
echo "The value of $variablename is: " ${!variablename}
echo "I will now try to change the value into $2."
eval "$variablename=$2"
echo "Success! $variablename now has the value ${!variablename}!"
有用。有没有更好的办法?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)