![]() |
|
Модераторы: ginnie, korob2001 |
![]()
|
|
| VackuM |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 15.5.2006 Репутация: нет Всего: нет |
Допустим, есть скрипт который создает файл.
Меня интересует, как можно из командной строки передать ему название этого файла. например: root# perl myscript.pl -testfile.txt и скрипт создаст testfile.txt |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 1 Всего: 18 |
смотри в сторону ARGV[0]
А вообще поиск рулит Это сообщение отредактировал(а) shamber - 28.5.2007, 11:35 |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 2 Всего: 84 |
верно сказано
А так же можно использовать модули... про них тоже уже писалось (Getopt::Std). в папке path_to_perl/lib есть два файлика getopt.pl getopts.pl, глянь Добавлено через 2 минуты и 55 секунд читать тут |
|||
|
||||
| averinbox |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 9.10.2008 Репутация: нет Всего: нет |
А можно примерчик ? :( не доходит до меня это . Принцип такой в скрипт передаётся параметр -а значит страбатывает правило фаервола например. -d удаляется правило. Прочёл всё что посоветовали чтото не догнал.
Заранее спасибо. |
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 5 Всего: 27 |
вот вам целых два примерчика -------------------- Died at Life.pl line 21 |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 9 Всего: 50 |
averinbox, для простых случаев можно обойтись и без ипользования модуля Getopt и других. В перл встроена поддержка параметров командной строки (опция перла -s).
Например, для вызова script.pl -a -d=xyz
|
|||
|
||||
| ISQman |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 22.7.2008 Репутация: нет Всего: нет |
#myscript.pl testfile.txt
|
|||
|
||||
| KSURi |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 887 Регистрация: 8.6.2006 Где: Russia Репутация: 5 Всего: 27 |
ISQman,
во-первых вы пропустили кавычки во втором и третьем параметрах open (надесь вы хотели использовать именно такую форму вызова =):
во-вторых, подстановка $ARGV[0] без предварительной фильтрации чревата уязвимостью, которая позволит исполнять команды в системе Это сообщение отредактировал(а) KSURi - 4.12.2008, 19:45 -------------------- Died at Life.pl line 21 |
|||
|
||||
| ISQman |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 66 Регистрация: 22.7.2008 Репутация: нет Всего: нет |
я всего лишь привёл пример как можно сделать
а насчёт функции open
можно также использовать вид
перл сам по себе очень гибкий и форм записи столько же, сколько будет наших мнений) главное чтобы они были правильны по синтаксису. |
||||
|
|||||
![]()
|
| Правила форума "Perl: Системное программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |