Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

SHELL параметры функций

17K
13 июня 2006 года
Alexy
6 / / 08.06.2006
Подскажите, пожалуйста, как решить такую проблему. В функцию передаются два параметра, но кроме них необходимо получить доступ к параметрам самой shell-программы, число которых заранее не известно. Пробывал сохранить параметры в глобальных переменных, но при доступе из функции почему-то не работает. Заранее благодарен.
2
13 июня 2006 года
squirL
5.6K / / 13.08.2003
[quote=Alexy]Подскажите, пожалуйста, как решить такую проблему. В функцию передаются два параметра, но кроме них необходимо получить доступ к параметрам самой shell-программы, число которых заранее не известно. Пробывал сохранить параметры в глобальных переменных, но при доступе из функции почему-то не работает. Заранее благодарен.[/quote]
совсем ничего не понял. какая функция? какая программа? по порядку и повнятнее сформулируйте, плз.
4
13 июня 2006 года
mike
3.7K / / 01.10.2002
Самый правильный вариант - это передача параметров Shell скрипта приложению через командную строку.

Есть более неправильные варианты - переменные среды, файлы.
2
13 июня 2006 года
squirL
5.6K / / 13.08.2003
[quote=mike]Самый правильный вариант - это передача параметров Shell скрипта приложению через командную строку.

Есть более неправильные варианты - переменные среды, файлы.[/quote]
это с каких это пор переменные среды стали неправильным вариантом? а файлы это и FIFO - тоже нормальный способ передачи чего либо. правда обычно - избыточный.
4
13 июня 2006 года
mike
3.7K / / 01.10.2002
[QUOTE=squirL]это с каких это пор переменные среды стали неправильным вариантом? а файлы это и FIFO - тоже нормальный способ передачи чего либо. правда обычно - избыточный.[/QUOTE]
Ну да ладно, параметры командной строки - это параметры командной строки, и передавать эти параметры нужно через командную строку. Это как минимум логично, и те кто будут потом переписывать модифицировать софт, сразу будут понимать что к чему.

Они (или сам разработчик) сэкономят кучу времени на разборе что там кто куда и зачем пишет.
17K
13 июня 2006 года
Alexy
6 / / 08.06.2006
[QUOTE=squirL]совсем ничего не понял. какая функция? какая программа? по порядку и повнятнее сформулируйте, плз.[/QUOTE]
В shell-скрипт через командную строку передаётся некоторое число параметров, к которым я могу обратиться через $1,$2,... В скрипте также есть функция которая принимает два параметра вычисляющихся в ходе работы, но кроме этого функции может понадобиться доступ к глобальным параметрам, поступившим через командную строку. Как это реализовать?
15K
14 июня 2006 года
foo
33 / / 03.06.2006
 
Код:
#!/bin/bash

declare -a argv
argv=($@)

function echo_argv_2 () {
    echo ${argv[2]}
}
15K
14 июня 2006 года
foo
33 / / 03.06.2006
[QUOTE=mike]Ну да ладно, параметры командной строки - это параметры командной строки, и передавать эти параметры нужно через командную строку. Это как минимум логично, и те кто будут потом переписывать модифицировать софт, сразу будут понимать что к чему.

Они (или сам разработчик) сэкономят кучу времени на разборе что там кто куда и зачем пишет.[/QUOTE]
для этого маны придуманы ;)
переменные окружения приятнее тем, что они наследуются дочерними процессами. И можно один раз прописать в ~/.bashrc `LS_OPTIONS="..."' и всегда их иметь.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог