The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Подстановка переменной bash"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Подстановка переменной bash"  +/
Сообщение от New_Birth (ok) on 28-Фев-11, 11:22 
Помогите пожалуйста с подстановкой переменных в баше. Есть скрипт:

array_of_hosts1=(5, 2, 3, 4); j=1; echo "-h ${array_of_hosts$j[0]}";

Мне нужно вывести нулевой символ массива array_of_hosts1. Но дело в том, что массив может называться array_of_hosts2, array_of_hosts5 и т.д. Если выводить так:
    
array_of_hosts1=(5, 2, 3, 4); j=1; echo "-h ${array_of_hosts1[0]}";

то все работает...

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Подстановка переменной bash"  +/
Сообщение от Andrey Mitrofanov on 28-Фев-11, 12:10 
> array_of_hosts1=(5, 2, 3, 4); j=1; echo "-h ${array_of_hosts$j[0]}";
> Мне нужно вывести нулевой символ массива array_of_hosts1. Но дело в том, что

$ array_of_hosts1=(5, 2, 3, 4); j=1; x="array_of_hosts$j"; echo "-h ${!x[0]}";
-h 5,
$ array_of_hosts1=(5, 2, 3, 4); j=1; x="array_of_hosts$j[0]"; echo "-h ${!x}";
-h 5,
$ _

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Подстановка переменной bash"  +/
Сообщение от New_Birth (ok) on 28-Фев-11, 13:52 
>> array_of_hosts1=(5, 2, 3, 4); j=1; echo "-h ${array_of_hosts$j[0]}";
>> Мне нужно вывести нулевой символ массива array_of_hosts1. Но дело в том, что
> $ array_of_hosts1=(5, 2, 3, 4); j=1; x="array_of_hosts$j"; echo "-h ${!x[0]}";
> -h 5,
> $ array_of_hosts1=(5, 2, 3, 4); j=1; x="array_of_hosts$j[0]"; echo "-h ${!x}";
> -h 5,
> $ _

Спасибо огромное. Работает )

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Подстановка переменной bash"  +/
Сообщение от New_Birth (ok) on 28-Фев-11, 15:57 
>>> array_of_hosts1=(5, 2, 3, 4); j=1; echo "-h ${array_of_hosts$j[0]}";
>>> Мне нужно вывести нулевой символ массива array_of_hosts1. Но дело в том, что
>> $ array_of_hosts1=(5, 2, 3, 4); j=1; x="array_of_hosts$j"; echo "-h ${!x[0]}";
>> -h 5,
>> $ array_of_hosts1=(5, 2, 3, 4); j=1; x="array_of_hosts$j[0]"; echo "-h ${!x}";
>> -h 5,
>> $ _
> Спасибо огромное. Работает )

А как стоит поступать, если мне нужно вывести начиная с 3-го элемента и до конца массива?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Подстановка переменной bash"  +/
Сообщение от DeadLoco (ok) on 28-Фев-11, 13:53 
>> array_of_hosts1=(5, 2, 3, 4); j=1; echo "-h ${array_of_hosts$j[0]}";
>> Мне нужно вывести нулевой символ массива array_of_hosts1. Но дело в том, что
> $ array_of_hosts1=(5, 2, 3, 4); j=1; x="array_of_hosts$j"; echo "-h ${!x[0]}";
> -h 5,
> $ array_of_hosts1=(5, 2, 3, 4); j=1; x="array_of_hosts$j[0]"; echo "-h ${!x}";
> -h 5,
> $ _

Либо через eval

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру