#!/bin/bash
declare -a argv
argv=($@)
function echo_argv_2 () {
echo ${argv[2]}
}
SHELL параметры функций
Подскажите, пожалуйста, как решить такую проблему. В функцию передаются два параметра, но кроме них необходимо получить доступ к параметрам самой shell-программы, число которых заранее не известно. Пробывал сохранить параметры в глобальных переменных, но при доступе из функции почему-то не работает. Заранее благодарен.
совсем ничего не понял. какая функция? какая программа? по порядку и повнятнее сформулируйте, плз.
Есть более неправильные варианты - переменные среды, файлы.
Есть более неправильные варианты - переменные среды, файлы.[/quote]
это с каких это пор переменные среды стали неправильным вариантом? а файлы это и FIFO - тоже нормальный способ передачи чего либо. правда обычно - избыточный.
Ну да ладно, параметры командной строки - это параметры командной строки, и передавать эти параметры нужно через командную строку. Это как минимум логично, и те кто будут потом переписывать модифицировать софт, сразу будут понимать что к чему.
Они (или сам разработчик) сэкономят кучу времени на разборе что там кто куда и зачем пишет.
В shell-скрипт через командную строку передаётся некоторое число параметров, к которым я могу обратиться через $1,$2,... В скрипте также есть функция которая принимает два параметра вычисляющихся в ходе работы, но кроме этого функции может понадобиться доступ к глобальным параметрам, поступившим через командную строку. Как это реализовать?
Код:
Они (или сам разработчик) сэкономят кучу времени на разборе что там кто куда и зачем пишет.[/QUOTE]
для этого маны придуманы ;)
переменные окружения приятнее тем, что они наследуются дочерними процессами. И можно один раз прописать в ~/.bashrc `LS_OPTIONS="..."' и всегда их иметь.