Описание
oscript умеет запускать только файл:
oscript.exe [options] <script_path> [script_arguments...]
Нет аналога python -c, node -e, php -r, ruby -e: выполнить фрагмент кода, переданный в командной строке, без временного .os.
Сейчас для одноразового скрипта приходится писать файл, запускать его и удалять.
Предложение
Добавить режим запуска кода из строки, например:
oscript -e "Сообщить(1 + 2)"
oscript -encoding=utf-8 -e "Сообщить(""привет"")"
oscript -e "Сообщить(АргументыКоманднойСтроки[0])" foo
Предпочтительные имена флагов: -e и длинная форма -eval (стиль CLI как у -v / -version; не --eval). Альтернативы -c / -command менее удачны из‑за соседства с -check, -compile, -cgi, -codestat.
Важна семантика:
- Аргумент флага — исходный текст модуля (как содержимое
.os).
- Перед
-e можно указать -encoding (как для файла). -codestat / -measure / -check / -debug для inline не требуются.
- Аргументы после кода попадают в
АргументыКоманднойСтроки.
#Использовать — как в обычном скрипте (поиск библиотек от cwd).
- Ошибки компиляции/исполнения — как у обычного строкового модуля (номер строки внутри переданного текста).
Зачем
- однострочники в CI и shell;
- вызов из агентов/IDE без записи на диск;
- быстрая проверка API движка (
Новый РегулярноеВыражение(...) и т.п.).
Обходной путь сейчас
Для коротких проверок это лишний шаг и лишний артефакт.
Описание
oscriptумеет запускать только файл:Нет аналога
python -c,node -e,php -r,ruby -e: выполнить фрагмент кода, переданный в командной строке, без временного.os.Сейчас для одноразового скрипта приходится писать файл, запускать его и удалять.
Предложение
Добавить режим запуска кода из строки, например:
Предпочтительные имена флагов:
-eи длинная форма-eval(стиль CLI как у-v/-version; не--eval). Альтернативы-c/-commandменее удачны из‑за соседства с-check,-compile,-cgi,-codestat.Важна семантика:
.os).-eможно указать-encoding(как для файла).-codestat/-measure/-check/-debugдля inline не требуются.АргументыКоманднойСтроки.#Использовать— как в обычном скрипте (поиск библиотек от cwd).Зачем
Новый РегулярноеВыражение(...)и т.п.).Обходной путь сейчас
Для коротких проверок это лишний шаг и лишний артефакт.