Gentee
  • Скриптовый язык программирования Gentee
  • Синтаксис языка
    • Лексические элементы
    • Типы
    • Описания
    • Конструкции языка
    • Обработка ошибок
    • Выражения
    • Запуск программ
    • Многопоточность
    • Включение и импорт файлов
  • Стандартная библиотека
    • Архивация
    • Ассоциативные массивы
    • Буфер
    • Время
    • Конвертация
    • Консоль
    • Константы
    • Контекст
    • Криптография
    • Логический тип
    • Массивы
    • Многопоточность
    • Множества
    • Объекты
    • Процесс
    • Путь
    • Рантайм
    • Регулярные выражения
    • Сеть
    • Символьный тип
    • Система
    • Строки
    • Файлы
    • Целые числа
    • Числа с плавающей точкой
  • Интеграция с Go
    • Документация
    • Компиляция и выполнение
    • Дополнительные возможности
    • Песочница
  • Сменить язык
    • English
Powered by GitBook
On this page
  • Операторы
  • Функции
  • Arg(str name) str
  • Arg(str name, str def) str
  • Arg(str name, int def) int
  • ArgCount() int
  • Args() arr.str
  • Args(str name) arr.str
  • ArgsTail() arr.str
  • IsArg(str name) bool
  • Open(str path)
  • OpenWith(str app, str path)
  • Run(str cmd, str params...)
  • SplitCmdLine(str cmdline) arr.str
  • Start(str cmd, str params...)

Was this helpful?

  1. Стандартная библиотека

Процесс

PreviousОбъектыNextПуть

Last updated 4 years ago

Was this helpful?

Здесь описаны операторы и функции для работы с процессами и приложениями. Функции Args и ArgCount работают с командной строкой любого формата. Для корректной работы остальных Arg.. функций необходимо, чтобы командная строка имела следующий формат.

CmdLine = [ CmdOptions ] ["-"] [ CmdParameters ]
CmdParameters = { CmdParameter }
CmdParameter = ParamWithoutSpace | "Param With Spaces" | 'Param With Spaces'
CmdOptions = {CmdOption}
CmdOption = "-" | "--" {letter} [ CmdOptionValue | CmdOptionValues ]
CmdOptionValue = "=" | ":" CmdParameter
CmdOptionValues = " " CmdParameters
-p="my value" --flag - one two three
-i:10 -n:Bob "one par" two three
--ext "*.txt" .js .html -o=/home/ak/dest /home/ak/in1 /home/ak/in2

Операторы

Operator

Result

Description

$ command line

Запустить командную строку.

str = $ command line

Запустить командную строку и возвратить её вывод.

Функции

Arg(str name) str

Функция Arg возвращает значение параметра с указанным именем. Если параметр не был указан при запуске скрипта, то возвратится пустая строка. В имени параметра можно не указывать начальный символ -.

Arg(str name, str def) str

Функция Arg возвращает значение параметра с указанным именем name. Если параметр не был указан при запуске скрипта, то возвратится значение def. В имени параметра можно не указывать начальный символ -.

Arg(str name, int def) int

Функция Arg возвращает числовое значение параметра с указанным именем name. Если параметр не был указан при запуске скрипта, то возвратится число def. В имени параметра можно не указывать начальный символ -.

ArgCount() int

Функция ArgCount возвращает количество параметров командной строки с которыми был запущен скрипт.

Args() arr.str

Функция Args возвращает список всех параметров и опций командной строки с которыми был запущен скрипт.

Args(str name) arr.str

Функция Args возвращает список значений параметра с именем name. В имени параметра можно не указывать начальный символ -.

// --ext .txt .js .html -o=/home/ak/dest /home/ak/in1 /home/ak/in2
list = Args(`--ext`) 
// list == [.txt, .js, .html]

ArgsTail() arr.str

Функция ArgsTail возвращает список параметров командной строки после опций. Можно явно указать начало таких параметров с помощью -.

// --ext .txt .js .html -o=/home/ak/dest /home/ak/in1 /home/ak/in2
list = ArgsTail() // list == [/home/ak/in1, /home/ak/in2]

// -i=false - val0 -value1 "value 2" 
list = ArgsTail() // list == [val0, -value1, value 2]

IsArg(str name) bool

Функция IsArg возвращает true, если в командной строке имеется опция с указанным именем. В противном случае, возвращается false. В имени параметра можно не указывать начальный символ -.

Open(str path)

Функция Open открывает файл, директорию или URI адрес приложением по умолчанию для объектов данного типа. Скрипт не ожидает завершения работы.

OpenWith(str app, str path)

Функция OpenWith открывает файл, директорию или URI адрес в указанном приложении. Скрипт не ожидает завершения работы.

Run(str cmd, str params...)

Опциональные параметры

  • buf stdin - буфер, который будет передан приложению как стандартный ввод.

  • buf stdout - буфер, в который будет записан стандартный вывод приложения.

  • buf stderr - буфер, в который будет записан стандартный вывод ошибок приложения.

Функция Run запуcкает указанную программу cmd c параметрами и ожидает её окончание. Дополнительно, вы можете переопределить стандартный ввод и вывод.

    buf dirout
    Run("dir", stdout: dirout)
    Run("bash", stdin: buf(
      |`echo "dirs"
        #comment    
        echo "%{str(dirout)}"`
    ))

SplitCmdLine(str cmdline) arr.str

Функция SplitCmdLine разбирает входящую строку с параметрами командной строки и возвращает массив параметров.

run str {
    return SplitCmdLine(`param1 "second par" "qwert\"y" 100 'oo ps'
-lastparam`).Join(`=`)
}
// returns param1=second par=qwert"y=100=oo ps=-lastparam

Start(str cmd, str params...)

Опциональные параметры

  • buf stdin - буфер, который будет передан приложению как стандартный ввод.

Функция Start запуcкает указанную программу cmd c параметрами и выполняет скрипт дальше. Дополнительно, вы можете передать буфер в качестве стандартного ввода.

    Start("echo", "hello, world!")
    Start("bash", stdin: buf(
      |`./myscript1.sh
        ./myscript2.sh`
    ))
Arg( str name ) str
Arg( str name, str def ) str
Arg( str name, int def ) int
ArgCount() int
Args() arr.str
Args( str name ) arr.str
ArgsTail() arr.str
IsArg( str name ) bool
Open( str path )
OpenWith( str app, str path )
Run( str cmd, str params... )
SplitCmdLine( str cmdline ) arr.str
Start( str cmd, str params... )