我试图修改适用于其他应用程序的脚本。我可以重新开始,但我想学习如何做到这一点。以下是我手动设置的一些数组,而不是使用用户输入或输入文件:
set mbeg= (1 2 3 4)
set mmid= (5 6 7 8)
set mend= (9 0 0 0)
我真正想做的是遍历$time
和$case
并让它返回循环变量的数组值。
foreach time (beg mid end)
foreach case (1 2 3 4)
echo \${m$time}[$case]
对于此示例,我希望它返回: 1 2 3 4 5 6 7 8 9 0 0 0 0
我可以让echo \${m$time}
返回" mbeg"但我无法弄清楚如何在那里获得阵列计数器。这是否可以做到简单,或者我应该改变策略?其他策略包括数组名称的强力输入和if / else语句,以仅选择与$time
变量对应的数组。
foreach time (beg mid end)
foreach j ( 1 2 3 4 )
if ($time == beg) then
echo $mbeg[$j]
elseif ( $time == mid ) then
echo $mmid[$j]
else
echo $mend[$j]
我也可以尝试从输入文件中读取。到目前为止,我已经使用grep和sed将文件缩减为单个变量。 感谢。