我有一个Cshell脚本,我正在修改,以具有相关的输入和输出位置.功能都发生在foreach循环中,如下所示:
set INPUT_LOCATION_LIST = "loc1 loc2 loc3 loc4"
foreach location ($INPUT_LOCATION_LIST)
#***Do some stuff ***
end
Run Code Online (Sandbox Code Playgroud)
我希望有一个输出列表,其值不同于输入列表,但是每次迭代都会遍历foreach循环.foreach的人只是
foreach name (wordlist)
Run Code Online (Sandbox Code Playgroud)
作为定义.所以只处理一个.我目前处理它的想法是让wordlist包含输入和输出位置,然后在脚本中解析它:
set INPUT_LOCATION_LIST = "loc1;out1 loc2;out2 loc3;out3 loc4;out4"
Run Code Online (Sandbox Code Playgroud)
所以我想知道是否有人有更好的方法来做到这一点.
您可以使用foreach和通过另一个列表迭代一个列表,通过像处理数组一样处理并使用shift:
set INPUT_LOCATION_LIST = "loc1 loc2 loc3 loc4"
set OUT_LIST = (out1 out2 out3 out4)
foreach location ($INPUT_LOCATION_LIST)
do_something $location $OUT_LIST[1]
shift OUT_LIST
end
Run Code Online (Sandbox Code Playgroud)