не уверен, какой язык оболочки у вас в вопросе, но вот версия Korn, которую вы могли бы использовать ...
#!/bin/ksh
LIST_A="a b c d e"
LIST_B="d f g"
got_match="0"
for item_A in $LIST_A
do
#echo $item_A
for item_B in $LIST_B
do
#echo $item_A " " $item_B
if [ "$item_A" == "$item_B" ]
then
echo "matched " $item_A
got_match="1"
break 2;
fi
done
done
if [ "$got_match" == "0" ]
then
echo "no match"
fi
«Перерыв 2» выходит из обоих циклов (при условии, что вы этого хотите)
"... сделать более читабельным ...", возможно, стиль, но мои предложения:
- используйте значимые имена, а не i и j
- избегать нескольких операторов в одной строке (избегать использования;)
- правильно сделать отступ
- комментарий с указанием намерения, если оно не очевидно
Еще одно предложение: предоставьте рабочую версию / фрагмент кода в будущих вопросах, чтобы другие могли запустить тестирование, и указать, на каком языке это написано.