Bash
Alexander Smirnov
alexander.v.smirnov на gmail.com
Ср Окт 28 13:58:49 GMT 2009
Катраев Виталий пишет:
> 28 октября 2009 г. 16:24 пользователь Vyacheslav Karamov
> <ubuntulist на yandex.ru> написал:
>
>> #!/bin/bash
>> unset var1 var2 i
>> declare -a arr1
>> declare -a arr2
>> cat $1 | while read -e var1 var2
>> do
>> arr1[i] = var1;
>> arr2[i++] = var2;
>> done
>>
>
> Неа, переменные внутри цикла отдельные в этом случае, надо не через |,
> а через < делать.
>
> #!/bin/bash
> TMP_FILE="/tmp/XXX_$RANDOM"
> curl server.com/file.txt > $TMP_FILE
> array1=()
> array2=()
> while read -e var1 var2
> do
> array1=(${array1[@]} $var1)
> array2=(${array2[@]} $var2)
> done < $TMP_FILE
> rm $TMP_FILE
> echo ${array1[@]}
> echo ${array2[@]}
>
>
>
для временных файлов использовать mktemp
и вот чё-т мне не нравится инициализация массива в цикле. Каждый проход
создается новый массив... Как-то это некрасиво
Подробная информация о списке рассылки ubuntu-ru