Нужен пример консольной утилиты
Нужен пример разбора параметров командной строки, открытия и чтения входного потока, записи выходного потока, потока ошибок (и не через консоль, а через файловые операции).
Мне бы пример скрипта, который парсит аргументы командной строки (да, я видел бибиотечку). Ну, то есть заготовку для типовой утилиты командной строки. А то пишу я, к примеру,
поток0 = ФайловыеПотоки.Открыть("/dev/stdin",РежимОткрытияФайла.Открыть);
поток1 = ФайловыеПотоки.Открыть("/dev/stdout",РежимОткрытияФайла.Открыть);
а оно мне выдаёт
{Модуль /home/user/ostest/1.os / Ошибка в строке: 2 / Внешнее исключение (System.IO.IOException): Sharing violation on path /dev/stdout}
Чтение собственных потоков ввода отсутсвует
Библиотечка для парсинга аргументов и вообще, заготовка для консольного приложения есть. См. oscript-library/os-app-template
Чтение собственных потоков ввода отсутсвует
сделайте пожалуйста, я сам не справлюсь, у меня лапки
https://github.com/oscript-library/oscript-app-template
да, за заготовку спасибо, только заготовка - это не пример. В частности, параметры там не нашел как парсятся для разных типовых случаев (например указать параметр логический, параметр со значением, параметр со списком значений)
https://github.com/oscript-library/cmdline/blob/master/readme.md
Но док неполный. Есть еще методы для добавления флаговых параметров и параметров-списков. Нужно смотреть исходники
Спасибо, действительно куцый. И с потоками - это проблема, она не решилась.
@ArsenShnurkov есть еще либо от меня для создания консольных приложений https://github.com/khorevaa/cli.
Пример можно посмотреть вот тут https://github.com/silverbulleters/ovm
Отлично, что есть целых два варианта библиотек для парсинга аргументов. Однако в документации к примеру не вижу работу со стандартными потоками (редиректами в частности).
@ArsenShnurkov ну есть повод сделать PR в любую из либ. Вопрос только зачем нужен данный функционал - пока не был востребован
Я думаю работа с потоками ввода и вывода это уже конкретная функциональность приложения или отдельной либы упрощающей работу с потоками. ..
пока не был востребован
мне нужен. Ведь ни одну консольную утилиту без него не написать по-юниксвейному.
есть повод сделать PR
Я выше писал про лапки.
@ArsenShnurkov не понятно что ты имеешь в виду... может работу с Сокетами ? Все понял. - это к движку оскрипт...
Я имею в виду https://msdn.microsoft.com/en-us/library/system.console.in.aspx https://msdn.microsoft.com/en-us/library/system.console.out.aspx https://msdn.microsoft.com/en-us/library/system.console.error.aspx
Да это я понял. Вообще при создании процесса из оскрипт есть возможность перехвата потоков...
при создании процесса из оскрипт есть возможность перехвата потоков...
верно, но это не то, что мне нужно.
@ArsenShnurkov работы с собственными stdin/stdout у движка нет. А задача на эту функциональность есть, создавал ее по наводке @awa15 я.