Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт ноя 23, 2017 4:52 am

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




Начать новую тему  Ответить на тему  [ 175 сообщений ]  На страницу Пред. 17 8 9 10 11 12 След.
Автор Сообщение
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб фев 09, 2013 2:55 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Недавно поднималась тема расширения стандартного заголовка для поддержки потоков stdio и stderr. Albom, что думаешь по этому поводу? Возможно, стоит в этом направлении тоже посмотреть?


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб фев 09, 2013 8:35 pm 
Не в сети

Зарегистрирован: Пт фев 18, 2011 3:13 pm
Сообщения: 201
SoUrcerer писал(а):
Недавно поднималась тема расширения стандартного заголовка для поддержки потоков stdio и stderr. Albom, что думаешь по этому поводу? Возможно, стоит в этом направлении тоже посмотреть?


Я уже почти сделал этого - только надо протестировать немножко. Но будет работать только с новым сетевым стеком от hidnplayr.


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

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
SoUrcerer писал(а):
Недавно поднималась тема расширения стандартного заголовка для поддержки потоков stdio и stderr. Albom, что думаешь по этому поводу? Возможно, стоит в этом направлении тоже посмотреть?

Дело нужное. И если будет хорошая документация, то можно внедрить в shell.


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб фев 09, 2013 11:30 pm 
Не в сети

Зарегистрирован: Пт фев 18, 2011 3:13 pm
Сообщения: 201
Albom писал(а):
Дело нужное. И если будет хорошая документация, то можно внедрить в shell.


Документация будет. Но все там очень просто. В конечном счете реализировал вот так.

Программа-консоль, используя SocketPair выделяет два IPC сокета - первый, передает приложению через заголовке, а на вторым слушает/говорит сама.

Программа-консоль может делать с принятой информацией чего захочет - отображать на екране, записать в файл, посылать через HTTP, клиенту и т.д.


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

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Как некоторый шаг к допиливанию существующей программы cp - файлик с функциями общения с shell и пример его использования.
Реализовал пока не все функции и если программа запущена не из shell, то она виснет (необходима доработка _sc_init).
Работа продолжается.


Вложения:
test_asm.zip [4.01 КБ]
44 скачивания
Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Ср фев 13, 2013 12:03 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
Очень-очень-очень прошу сделать поддержку относительных путей в скриптах. Ну очень надо. Что-то вроде

# install.sh
cp ./file1 /sys/file2
./dir1/file2

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


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

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Пока положу здесь.


Leency писал(а):
Очень-очень-очень прошу сделать поддержку относительных путей в скриптах. Ну очень надо. Что-то вроде

Когда-то обязательно будет реализовано.


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

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
Albom
Очень надо уже сейчас. :oops:

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


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

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

+ Добавлена возможность запускать программы, имена которых или путь к которым содержат пробелы. Имя программы (возможно с путём к ней) для этого необходимо заключать в кавычки. Т.е. наконец-то можно запустить программу из /rd/1/File managers, не переходя в неё
+ Добавлена функция разделения строковой переменной на int argc, char* argv[], что означает возможность улучшения команд (обработка нескольких параметров)
+ Добавлена команда cp (копирование файла). Принимает обязательно два параметра - имя файла-источника и имя файла-результата. Имена могут быть краткими (в текущем каталоге), так и с полным путём (должны начинаться с /). Ограничение на размер файла - 4 Гбайта
* Исправлена кодировка в сообщении об ошибке в консольном приложении
* Клавиши истории (вверх и вниз) поменяны между собой
* Количество команд в истории увеличено с пяти до десяти
* Уменьшено количество предупреждений при компиляции
* Команда ccpuid преобразована в параметр cpu команды ver
* Исправления в пакетных файлах сборки
+ Добавлен пример консольного приложения на ассемблере и пакетный файл для его сборки


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб фев 16, 2013 3:34 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
А что насчет внутренних мини-команд? У них есть свой argc/argv? Они возвращают сообщения об ошибках?


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

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
Клёво, это ещё один шаг вперёд. Мне очень нужно, чтобы комманды работали относительно пути запущенного скрипта.
Запускаем /bd0/4/programs/install.sh, в нём строка

cp file1 /sys/file2 #копирует из /bd0/4/programs/file1 в /sys/file2

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


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

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
SoUrcerer писал(а):
А что насчет внутренних мини-команд? У них есть свой argc/argv? Они возвращают сообщения об ошибках?

За разбор параметров отвечает функция
Код:
int parameters_prepare(char *param, char* argv[]);

Её при необходимости можно вызывать из любой мини-команды. На вход всех мини-команд подаётся char *param. Мини-команды возвращают либо TRUE, либо FALSE, но результат по сути никак не обрабатывается.

Leency писал(а):
Мне очень нужно, чтобы команды работали относительно пути запущенного скрипта.

А что, не работает? Если нет, то, думаю, добавить такую возможность не сложно.

+Ещё. Теперь в параметрах проблема с кавычками - передать параметр с ними пока нельзя (например, в новом mp3-плеере).


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб фев 16, 2013 10:39 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Нужно добавить символы экранирования - \', \" и \[пробел]. Тогда проблем будет меньше.
Меня очень печалит, что я не вижу информации об ошибках. Например, иногда я делаю по ошибке опечатку - вместо cd /bd0/1/bin-i386 набираю cd /bd0/2/bin-i386
Пока я не убеждаюсь, что по-прежнему нахожусь в той же папке, где и был, командой ls - я не знаю, что опечатался. Стоит выводить в таком случае ошибку.


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

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
1) Постараюсь добавить хоть простую обработку ошибок
2) Текущую директорию можно узнать по команде pwd

Обнаружил, что копирование работает недостаточно надёжно. Буду работать над 0.6.1...


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

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Кто-нибудь подскажет, как проверить объём свободного пространства на диске ДО копирования файла?


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 175 сообщений ]  На страницу Пред. 17 8 9 10 11 12 След.

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


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

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


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

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