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

Исходное сообщение
"shell: про $@"

Отправлено zx400 , 07-Апр-07 18:11 
Подскажите как правильно присвоить значение переменной $@ другой переменной.
Пояню:
В переменной $@ содержатся аргументы скрипта как отдельные слова. То есть к примеру если аргументы - список файлов, то даже если в именах файлов есть пробелы то в цикле
for i in "$@"
в переменной $i на каждой итеррации будет содержаться полное имя файла. А вот если присвоить другой переменной значение $@ то нормально обработать данный список уже не получается. Как ни пробовал присваивать - все равно в итоге новая переменная обрабатывается либо как список значений, разделенных пробелами (что в случае наличия пробелов в именах файлов не подходит), либо как одна строка.

Содержание

Сообщения в этом обсуждении
"shell: про $@"
Отправлено jd , 08-Апр-07 13:29 
Используйте массив. Например так:

array=("$@")

тогда "${array[0]}" - первый аргумент, "${array[1]}" - второй и т.д.

Короче, man bash(3).

P.S. Из вопроса не ясно, чего вы хотите добиться в итоге...