Автор Тема: bash не инициализируются масивы  (Прочитано 2204 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн starlayt

test=( 1 2 3 4 5 )
ругается на скобку, типа неожиданная

test[0]=1
test[1]=2
выводит значения каждого элемента и пишет not found

С другими способами такая же ***. В консоли работает, в скриптах - нет. Что за ****?!

*прочтите правила форума, пункт 3.1 , qupl
« Последнее редактирование: 20 Мая 2014, 15:42:51 от qupl »
 

yura_n

  • Гость
Re: bash не инициализируются масивы
« Ответ #1 : 20 Мая 2014, 17:04:07 »
ругается на скобку, типа неожиданная
У вас пробелы лишние. После первой скобки и перед второй.
 

Оффлайн starlayt

Re: bash не инициализируются масивы
« Ответ #2 : 20 Мая 2014, 20:40:33 »
без них он пишет тоже самое
 

yura_n

  • Гость
Re: bash не инициализируются масивы
« Ответ #3 : 20 Мая 2014, 20:43:40 »
без них он пишет тоже самое
У меня не пишет. Выложите скрипт целиком.
 

Оффлайн ZEN

Re: bash не инициализируются масивы
« Ответ #4 : 20 Мая 2014, 21:27:18 »
Возможно старая версия bash или используется dash вместо bash...

zen@devel:~$ dash
$ a=( 1 2 3 )
dash: 1: Syntax error: "(" unexpected
$
zen@devel:~$ a=( 1 2 3 )
zen@devel:~$ echo ${a[0]}
1
zen@devel:~$
Crimea is Ukraine
 

Оффлайн starlayt

Re: bash не инициализируются масивы
« Ответ #5 : 22 Мая 2014, 08:03:21 »
ZEN, у меня тоже в консоли работает. А именно в скрипте - нет.
yura_n, да вот хоть этот, из примера, не пашет.
test=(1 2 3)
echo ${test[0]}
 

Оффлайн ogost

Re: bash не инициализируются масивы
« Ответ #6 : 22 Мая 2014, 12:23:14 »
вопрос глупый, но shabang добавили? то бишь #!/bin/bash в начало скрипта?

yura_n

  • Гость
Re: bash не инициализируются масивы
« Ответ #7 : 22 Мая 2014, 16:52:30 »
yura_n, да вот хоть этот, из примера, не пашет.
Все работает:
yura@Vega ~/test $ ls
test.sh
yura@Vega ~/test $ cat test.sh
#!/bin/bash
test=(1 2 3)
echo ${test[0]}

yura@Vega ~/test $ ./test.sh
1
 

Оффлайн starlayt

Re: bash не инициализируются масивы
« Ответ #8 : 23 Мая 2014, 11:11:30 »
ogost, да, добавлен
yura_n, спасибо, я понял в чем ошибка!
alex@Alex:~$ ~/test.sh
1
alex@Alex:~$ sh ~/test.sh
/home/alex/test.sh: 2: /home/alex/test.sh: Syntax error: "(" unexpected
Вот оказывается в чем дело было. Как уже выше говорили, я оказывается dash вместо bash использовал.
 

Теги:
     

    bash, передача ssh команд в конвеере [Решено]

    Автор zCirill

    Ответов: 3
    Просмотров: 1861
    Последний ответ 04 Марта 2016, 14:38:44
    от zCirill
    bash скрипт для распаковки архивов всех типов в указанную директорию

    Автор demon_666_902

    Ответов: 7
    Просмотров: 8000
    Последний ответ 19 Июля 2013, 00:53:11
    от ZEN
    Мониторинг баланса сотового оператора на BASH

    Автор Арсланали

    Ответов: 4
    Просмотров: 3032
    Последний ответ 27 Ноября 2014, 22:33:06
    от Арсланали
    bash сравнение строки с несколькими условиями

    Автор zCirill

    Ответов: 2
    Просмотров: 1619
    Последний ответ 30 Октября 2015, 12:57:25
    от zCirill
    "Плавающий" виртуальный IP средствами bash

    Автор skvili

    Ответов: 3
    Просмотров: 1506
    Последний ответ 10 Августа 2018, 12:37:05
    от endru