Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> разбор коммандоной строки 
:(
    Опции темы
f00Gass
  Дата 2.8.2008, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 10.11.2005

Репутация: нет
Всего: нет



Имеется следующая задача: нужно exec'нуть некоторую комманду из Perl'а. Комманда можеть быть любого вида, но состоять только из предопределённого списка прграмм. Есть ли какие-то стандартные средства решения для этого, что бы не писать убогий синтаксический анализатор командной строки?
PM MAIL   Вверх
amg
Дата 2.8.2008, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 9
Всего: 50



Вопрос слишком общий. Скажите, пожалуйста, по-конкретнее, с примерами, что Вы хотите.
PM MAIL   Вверх
f00Gass
Дата 2.8.2008, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 10.11.2005

Репутация: нет
Всего: нет



Например: есть команада вида
Код

   echo "some text here" && ls / | grep tmp


Ещё есть список состоящий из 2-ух команд:
 ls
 echo

Так вот Perl должен ругнуться по поводу команды grep т.к. её нет в списке разрешённых комманд
PM MAIL   Вверх
KSURi
Дата 6.8.2008, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 5
Всего: 27



В таком случае подойдет простой регекс


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
shamber
Дата 6.8.2008, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 1
Всего: 18



f00Gass, все-таки предется писать smile
PM MAIL Jabber   Вверх
amg
Дата 6.8.2008, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1145
Регистрация: 3.8.2006
Где: Новосибирск

Репутация: 9
Всего: 50



Цитата(shamber @  6.8.2008,  13:30 Найти цитируемый пост)
все-таки предется писать
Я тоже не знаю, как без этого обойтись. Но и парсер командной строки sh-шелла написать отнюдь не просто. Например, если нельзя пропускать grep, то следует учитывать, что echo grep нужно пропускать, а `echo -n gr;echo -n ep` опять нельзя. Замаешься.

PM MAIL   Вверх
KSURi
Дата 6.8.2008, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 887
Регистрация: 8.6.2006
Где: Russia

Репутация: 5
Всего: 27



amg, точно. Не подумал про echo grep =(
Кажется все-таки придется писать


--------------------
Died at Life.pl line 21
PM Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1097 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.