首先,我很抱歉为这个标题不好,但我什至不知道该怎么称呼。
我正在尝试以下方法:
#!/bin/sh
VAR1="28-00000202070c"
VAR2="28-0000018776d3"
VAR3="28-0000033a6174"
for sensor in VAR1 VAR2 VAR3
do
echo "$sensor: $$sensor"
done
预期的输出将是:
VAR1:28-00000202070c
VAR2:28-0000018776d3
VAR3:28-0000033a6174
实际输出为:
VAR1:24038传感器
VAR2:24038传感器
VAR3:24038传感器
而且奇怪的前缀数字一直在增长...
VAR1:24039传感器
VAR2:24039传感器
VAR3:24039传感器
...
我想问一下:
1)哪些正确的术语/关键字描述了我在这里试图做的事情
2)如何达到预期的输出
谢谢,乔奥阿布斯
这是sh
不支持的,而有支持的bash
。
您应该使用的正确语法是:
echo "$sensor ${!sensor}"
$ cat a
#!/bin/bash <----- note I changed /bin/sh to /bin/bash
VAR1="28-00000202070c"
VAR2="28-0000018776d3"
VAR3="28-0000033a6174"
for sensor in VAR1 VAR2 VAR3
do
echo "$sensor ${!sensor}"
done
$ ./a
VAR1 28-00000202070c
VAR2 28-0000018776d3
VAR3 28-0000033a6174
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句