Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт сен 26, 2017 2:09 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 170 сообщений ]  На страницу 1 2 3 4 512 След.
Автор Сообщение
 Заголовок сообщения: Очень функциональный шелл
СообщениеДобавлено: Сб июл 26, 2008 6:11 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Решил написать функциональный шелл на Си с использованием console.obj.
Большинство команд думаю сделать встроенными (так скорость выше и меньше места будет занимать из-за отсутствия инициализации в каждой программе), но хотелось бы некоторые команды реализовать в виде модулей (не скрипты). У меня пока 2 идеи - использовать IPC или библиотеки. Надо, чтобы во внешнем модуле можно было вызывать ф-ции ввода/вывода в существующую консоль. Кто-нибудь может подсказать как лучше их реализовать?
Пока сделал функцию отделения команды и параметров, а также реализовал команды help (пока без параметров), ver и exit.


Вложения:
shell.zip [1.46 КБ]
292 скачивания
Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Вс июл 27, 2008 11:49 am 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Реализовал команды:

exit - выход
ls (с параметром и без) - вывод списка директории
pwd - текущий каталог
ps - список процессов и их PID
kill - завершить процесс по PID
help (с параметром и без) - помощь

Радует, что шелл уже приближается по функциональности к cmd - и это всего за пару часов работы


Вложения:
Комментарий к файлу: 0.02
shell.zip [2.53 КБ]
261 скачивание
Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Вс июл 27, 2008 11:57 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4176
Классно получаеться, ну вот и будет у нас наконец-то нормальный шелл :)
Только надо будет полосу прокрутки сделать более Колибришной.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Пн июл 28, 2008 6:16 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Версия 0.1.

Реализованы (не полностью) команды: about, cd, date, echo, exit, help, kill, ls, ps, pwd, ver. При перемещении по каталогам желательно указывать осмысленные имена. При запуске программы (если не указан полный путь) она ищется в каталоге /rd/1 и текущем каталоге.

Ассемблерщики! Улучшите пожалуйста библиотеку console.obj. Очень не хватает в ней функций очистки экрана и получения/установки места. Да и создаваемое окно выглядит убого (это скорее вопрос к дизайнерам:)), особенно мне не нравиться невозможность изменения его размеров.


Вложения:
shell-0.1.zip [3.36 КБ]
245 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Чт июл 31, 2008 8:08 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Версия 0.11.
Добавил команды free и reboot, внёс некоторые изменения, исправил найденные ошибки.


Вложения:
shell-0.11.zip [3.27 КБ]
244 скачивания
Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Чт июл 31, 2008 8:37 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4176
Забыл сказать: пост "Версия 0.1...." я отправил разработчику либы сонсоль.обдж (диамонду), отправил я ему и скин прокрутки в стиле Еолайта\HTMLv, подождём быть может что-то он придумает)...

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб авг 02, 2008 6:31 pm 
Не в сети
Just Flooding

Зарегистрирован: Сб янв 06, 2007 2:30 pm
Сообщения: 269
to Albom
Очень рад шеллу, а то все файловые менеджеры строку ввода рисуют, а писать в ней ничего нельзя, а единожды привыкныв к командам cd.. dir, и прочим сложно перейти на мышь.


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб авг 02, 2008 7:55 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Цитата:
единожды привыкныв к командам cd.. dir, и прочим сложно перейти на мыш

у меня та же история! вот более-менее реализую функциональность команд и займусь процедурой ввода - очень не хватает up/down и tab... тогда пользоваться, думаю, будет очень удобно.


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб авг 02, 2008 9:28 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 7:57 pm
Сообщения: 834
Хорошо бы значок "#" в начале строки заменить на "$", а то нас могу обвинить в том, что мы всё время работаем под рутом, что среди ортодоксальных линуксоидов считается плохим тоном))
В целом понравилось, удачи в разработке!

_________________
Всех выше те, кто доброе творят,
И за дела добра не ждут наград,
Всем жертвуют для страждущих людей,
Не думая о выгоде своей.


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Вс авг 03, 2008 4:58 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пн мар 20, 2006 10:44 am
Сообщения: 557
Атауальпа по сути в КОлибри мы всегда под рутом )))
Albom может лучще портировать bash/sh? Конечно отсутствие fork(), dup() и стандартных дескрипторов как таковых усложняет задачу но их можно и эмулировать.


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Вс авг 03, 2008 6:46 am 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Цитата:
может лучще портировать bash/sh?

вряд ли получится. Уж очень далека Kolibri от POSIX. Слишком многое придётся эмулировать. К тому же стоит ли?


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Вс авг 03, 2008 10:41 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4176
ИМХО не стоит.
Albom писал(а):
Цитата:
единожды привыкныв к командам cd.. dir, и прочим сложно перейти на мыш
у меня та же история!
А почему бы не продублировать комманды? чтобы и dir, и ls работали и выполняли одну и ту же функцию.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Вс авг 03, 2008 1:57 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Чт мар 01, 2007 4:16 pm
Сообщения: 426
> Реализованы (не полностью) команды: about, cd, date, echo, exit, help, kill, ls, ps, pwd, ver.

..bw


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Вс авг 03, 2008 7:46 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Цитата:
А почему бы не продублировать комманды? чтобы и dir, и ls работали и выполняли одну и ту же функцию.

не надо! я принципиально против такого бреда. или то, или другое. кому надо будет - скомпилирует со своими командами, хоть пусть команда вывода списка файлов будет CATALOG (как на APPLE ][ :)). надо придерживаться хоть каких-то стандартов - я выбрал стандарт UNIX.


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Вс авг 03, 2008 8:20 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4176
Albom писал(а):
надо придерживаться хоть каких-то стандартов - я выбрал стандарт UNIX.
Но ведь Колибря во всём наследует Винь!
Можно было бы сказать: надо придерживаться стандартов!, но делай как хочешь. Скажу лишь что доля пользователей Linux на Европейских десктопах 1%, на территории наших стран не более 0.5%. Чем обоснован выбор в сторону Линуксовского стандарта мне _не_понятно_.

_________________
Через тернии к звездам


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 170 сообщений ]  На страницу 1 2 3 4 512 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB