Вот несколько альтернативных способов, два коротких и простых:
printf "%s\n" www.google.com www.yahoo.com | cat -n
и
for i in www.google.com www.yahoo.com; do echo $i; done | cat -n
, которые оба выводят:
1 www.google.com
2 www.yahoo.com
и немного сложнее:
s=(www.google.com www.yahoo.com)
for i in $(seq 1 ${#s[@]}); do
echo $i ${s[i-1]}
done
, который выводит:
1 www.google.com
2 www.yahoo.com
Во втором предположении я использую массив с именем s, созданный с помощью строки s=(xx yy)
Синтаксис ${#s[@]} - это количество элементов в массиве, здесь 2 и ${s[i-1]} - элемент со смещением i-1 от начала массива, таким образом ${s[1-1]} ${s[0]}, а затем www.google.com и т. д.