Bash csh Перебрать 2 списка

В csh или любом другом дружественном для Mac языке сценариев я хотел бы запустить некоторую форму цикла, который читает 2 списка. Нужна небольшая помощь с синтаксисом.

Например:

variable1 = (1, 2, 3, 4, ...)
variable2 = (one, two, three, four, ...)

Foreach number ($variable1)

echo  "{$variable1} equals {$variable2}"

end

Когда я пытаюсь, второй variable2 не распознается в цикле.

2 ответа

#!/bin/bash

variable1=(1 2 3 4) 
variable2=(one two three four)

for ((i=0;i<${#variable1[@]};i++)); do
  echo "${variable1[$i]} equals ${variable2[$i]}"
done

Выход:

1 равно одному
2 равно двум
3 равно трем
4 равно четырем

Пожалуйста, попробуйте это:

#! /bin/csh
set variable1 = (1 2 3 4) 
set variable2 = (one two three four)
set i = 1
foreach x ( $variable1 )
    echo "$x equals $variable2[$i]"
    @ i = $i + 1
end

Результат:

1 equals one
2 equals two
3 equals three
4 equals four  
Другие вопросы по тегам