2013-10-15 3 views
1

Я пытаюсь получить предварительно заполненную функцию readline в PHP-CLI. Пример: попросить специальную папку к пользователю, но редактируемой PROMPT> /var/log Использование может поразить возвращение, чтобы подтвердить/вар/запись журнала или отредактировать его после приглашения>Предварительно заполненный readline

я пытаюсь поставить/вар/войти readline ("PROMPT> /var/log"); , но это не редактируется, так как это подсказка. Я бы хотел, чтобы readline согласился использовать стрелки клавиатуры для редактирования данных.

У вас есть идея?

+0

Это не выглядит так, как API-интерфейс для чтения PHP имеет этот параметр. – Barmar

+0

Я даже не уверен, что это доступно в базовой библиотеке readline GNU. Это? – Barmar

+0

Я ничего не вижу в http://cnswww.cns.cwru.edu/php/chet/readline/readline.html#SEC23, который сделает это – Barmar

ответ

0

Это невозможно с любой оболочкой, которую я знаю. Обычно это разрешается путем отображения значения по умолчанию, и если пользователь не вводит ничего, программа продолжает со значением по умолчанию. Рассмотрим следующий пример из aptitude upgrade:

Do you want to continue? [Y/n/?] 

Пользователь знает, доступные опции и Y в верхнем регистре, и для этого значения по умолчанию. Конечно, вы можете расширить это, чтобы сделать его еще более понятным для вашего пользователя. Возможно, что-то в строках:

Do you want to continue? [y/n] [default is y] 

Есть бесконечные подходы к решению этой проблемы.

Ваша программа, безусловно, что-то делает, прежде чем вывести /var/log в приглашение, поэтому попросите пользователя. Я могу очень порекомендовать Symfony2 Console, что делает такие задачи такими же легкими для езды на велосипеде.

Смежные вопросы