linux在foreach循环a1,a2,a3中打印变量值

标签 linux perl csh

我有一个旧的 csh 脚本(希望我有时间用 perl 重写),它有一系列变量 wmr1、wmr2 ... wmr24。我想做的是使用 foreach 循环回显每个变量的值,例如

foreach i(`seq 1 24`)
   echo ${wmr$i}
end

这可以在 csh 中完成还是使用 perl one liner(使用符号引用?)?我不确定如何将整数 $iwmr 组合并输出 $wmr1 $wmr2 的值等 echo ${wmr$i} 在循环中给我错误 Missing }.

最佳答案

你可以试试这个

 foreach i (`seq 1 24`)
     eval 'echo $wm'$i
 end

eval 语句将计算给它的字符串。 因此,将 echo 替换为您可能想要使用的任何其他命令。

关于linux在foreach循环a1,a2,a3中打印变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16811832/

相关文章:

java - 找不到 Gerrit JDBC 驱动程序

linux - RaspberryPi 上自动启动 JavaFX 应用程序

regex - 在 Perl 中,是否存在 ${foo[bar]} 可能是语法上有效的代码的任何场景?

java - 为什么模运算在 Java VS Perl 中给出不同的结果?

perl - 为什么第 4 章中来自 'Learning Perl 6th edition' 的示例无法运行?

linux - 如何删除从头开始直到达到特定模式的所有行(最后一行除外)

linux - Github,如何将我的分支同步到 master?

bash - 将命令行参数传递给 shell 脚本不起作用

bash - 从 bash 进入 cshell

linux - 在ubuntu上打开Aspx扩展网站