2016-02-01 9 views
0

Я пытаюсь понять, является ли это синтаксисом или логической проблемой с bash.Функция bash, которая принимает аргументы и возвращает массив переменной

Это вы можете вернуть значение из функции и присвоить ее переменной;

var=$(the_function) 

Я пытаюсь добавить несколько аргументов в вызове функции, которые включают в себя переменные, PAREN (), двойное двоеточие ::, наряду с одиночными и двойными кавычками не повезло.

пример того, что я пытаюсь сделать следующее;

var=$(db_query "SELECT nextval('the_seq'::regclass) FROM the_table;" "$dbname") 

Функция успешно запрашивает базу данных, когда не пытается вернуть значение.

Я продолжаю получать «неожиданный») «» для последнего ), который обертывает всю функцию. Я пробовал многочисленные формы цитирования и ускользания, но убираю var=$ вместе с wrapping(), и функция работает по назначению.

Будет ли это моей неправильной логикой, синтаксисом или обоими?

+1

(/ помощь/mcve) –

ответ

0

попробовать:

var="$(the_function parm1 parm2)" 

или: [. Покажите нам строку, которая терпит неудачу]

var="`the_function parm1 parm2`" 
+0

позже работал как шарм, спасибо. – Joeseppe