URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9988
[ Назад ]

Исходное сообщение
"Сломай голову в shell"

Отправлено Александр , 25-Мрт-15 14:52 
Добрый день! Весь отдел сломал голову. Есть файл:

home@home$ cat list
a
s
v
d
s
c
a

Переменные a и s заранее определены. Как перебирая файл циклом for, печатать не имя переменной, а её значение.

home@home$ a=45; s=32; for i in `cat list` ; do echo $i; done

s
v
d
s
c
a

Заранее спасибо!


Содержание

Сообщения в этом обсуждении
"Сломай голову в shell"
Отправлено Andrey Mitrofanov , 25-Мрт-15 14:57 
>Как перебирая файл циклом for, печатать

Какая интересная задача! Позвольте узнать, зачем??


"Сломай голову в shell"
Отправлено Александр , 25-Мрт-15 15:05 
>>Как перебирая файл циклом for, печатать
> Какая интересная задача! Позвольте узнать, зачем??

Вообще это нужно было в скрипт, перебирать переменные. Но теперь это уже дело принципа)


"Сломай голову в shell"
Отправлено Doka , 25-Мрт-15 17:12 
>>>Как перебирая файл циклом for, печатать
>> Какая интересная задача! Позвольте узнать, зачем??
> Вообще это нужно было в скрипт, перебирать переменные. Но теперь это уже
> дело принципа)

а так пониманю все зависит от shell-а.
проверил, все работает так как и ожидалось.


"Сломай голову в shell"
Отправлено c4ca4238a0b923820dcc509a6f75849b , 25-Мрт-15 18:57 
Приветствую

Оно?
https://www.gnu.org/software/bash/manual/bash.html#Shell-Par...

#  a=45; s=32; for i in $(cat list) ; do echo  ${!i}; done
45
32


32

45


"Сломай голову в shell"
Отправлено Александр , 25-Мрт-15 19:52 
Спасибо! Точно! Работает!