CoffeeScript - это современный процедурный скриптовый язык, созданный под влиянием современных языков Ruby, Haskell, Python, DHALL, Cue и декларативных форматов YAML и KDL.
Основными преимуществами CoffeeScript является компактность и легкочитаемость.
CoffeeScript является одним из языков первого порядка, поддерживаемых в Зодиак.АйТиЭм. Это означает, что Зодиак.АйТиЭм поддерживает исполнение сценариев CoffeeScript напрямую, без необходимости в установке дополнительного ПО и запуску таких сценариев из других языков.
Сценарии CoffeeScript поддерживаются как в режиме централизованного назначения (через директивы веб-консоли Зодиак.АйТиЭм), так и в ручном режиме на любом компьютере, где установлен агент Зодиак.АйТиЭм при помощи команды:
zosh <путь_до_файла.coffee>
Сценарии CoffeeScript являются кросс-платформенными и позволяют решать задачи управления как на компьютерах под управлением ОС Windows, так и на компьютерах под управлением ОС Linux.
Функции, доступные из сценариев CoffeeScript в Зодиак.АйТиЭм могут быть расширены в максимально короткий срок.
Кросс-платформенная реализация утилиты cat в ОС семейства Linux. Позволяет читать содержимое файлов и перенаправлять это содержимое в другие функции.
Синопсис:
cat [options] file1, ... fileN
Options:
-n: number all output lines`
Примеры:
cat [options] file1, ... fileN
Options:
-n: number all output lines`
Кросс-платформенная реализация изменения рабочей папки. Если не задан путь до папки изменяет рабочую папку на домашнюю директорию.
Синопсис:
cd [dir]
Примеры:
cd '/var/log'
Кросс-платформенная реализация изменения POSIX-прав доступа. Синопсис:
Синопсис:
chmod [options] mode path
Options:
-v: output a diagnostic for every file processed
-c: like verbose, but report only when a change is made
-R: change files and directories recursively
Примеры:
chmod 755, '/Users/brandon'
chmod '755', '/Users/brandon'
chmod 'u+x', '/Users/brandon'
chmod '-R', 'a-w', '/Users/brandon'
Кросс-платформенная реализация копирования файлов. Синопсис:
Синопсис:
cp [options] source1, ..., sourceN, target
Options:
-f: force (default behavior)
-n: no-clobber
-u: only copy if source is newer than dest
-r, -R: recursive
-L: follow symlinks
-P: don't follow symlinks
Примеры:
cp 'file1', 'dir1'
cp '-R', 'path/to/dir/', '~/newCopy/'
cp '-Rf', '/tmp/*', '/usr/local/*', '/home/tmp'
Кросс-платформенная реализация поиска файлов. Возвращает полные пути до всех найденных файлов. Используется в комбинации со стандартными функциями CoffeeScript по работе с массивами строк.
Синопсис:
find путь1, ..., путьN
Примеры:
find 'src', 'lib'
find 'D:/portables'
.filter (f) -> f.endsWith '.exe'
Кросс-платформенная реализация поиска текста в файлах. Синопсис:
Синопсис:
Options:
-v: Invert regex_filter (only print non-matching lines).
-l: Print only filenames of matching files.
-i: Ignore case.
Примеры:
grep '-v', 'Hello', '*.js'
grep 'Hello', '*.js'
Кросс-платформенные реализации чтения первых и последних строк файла. Синопсис:
Синопсис:
head [options] file1, ... fileN
tail [options] file1, ... fileN
Options:
-n <num>: Show the first <num> lines of the files
Примеры:
str = head {'-n': 1}, 'file*.txt'
str = head 'file1', 'file2'
str = tail {'-n': 1}, 'file*.txt'
str = tail 'file1', 'file2'
Кросс-платформенная реализация создания папки.
Синопсис:
mkdir [options] dir1, ... dirN
Options:
-p: full path (and create intermediate directories, if necessary)
Примеры:
mkdir '/tmp/a/b/c/d', '/tmp/e/f/g'
mkdir '-p', '/tmp/a/b/c/d', '/tmp/e/f/g'
Кросс-платформенные реализация перемещения файлов и папок.
Синопсис:
mv [options] source1, ... sourceN, dest
Options:
-f: force (default behavior)
-n: no-clobber
Примеры:
mv '-n', 'file', 'dir/'
mv 'file1', 'file2', 'dir/'
Кросс-платформенная реализация удаления файлов и папок.
Синопсис:
rm [options] file1, ... fileN
Options:
-f: force
-r, -R: recursive
Примеры:
rm '-rf', '/tmp/*'
rm 'some_file.txt', 'another_file.txt'
Кросс-платформенная реализация перечисление содержимого папок.
Синопсис:
ls [options] dir1, ... dirN
Options:
-R: recursive
-A: all files (include files beginning with ., except for . and ..)
-L: follow symlinks
-d: list directories themselves, not their contents
-l: list objects representing each file
Примеры:
ls 'projs/*.js'
ls '-R', '/users/me', '/tmp'
ls '-l', 'file.txt'
Проверить существование файла или папки.
Синопсис:
test [option] path
Options:
-b: path is a block device
-c: path is a character device
-d: path is a directory
-e: path exists
-f: path is a regular file
-L: path is a symbolic link
-p: path is a pipe (FIFO)
-S: path is a socket
Примеры:
test('-d', '/var/log')
test('-f', 'C:/test.txt')
Создать файл или изменить время доступа к нему.
Синопсис:
touch [options] file1, ... fileN
Options:
-a: Change only the access time
-c: Do not create any files
-m: Change only the modification time
-d DATE: Parse DATE and use it instead of current time
-r FILE: Use FILE's times instead of current time
Примеры:
touch 'source.js'
touch '-c', '/path/to/some/dir/source.js'
touch { '-r': '/path/to/some/file.js' }, '/path/to/some/dir/source.js'
Выполнить заданную команду PowerShell.
Синопсис:
ps command
Примеры:
ps 'New-Item "HKCU:\\SOFTWARE\\Test\\" | New-ItemProperty -Name TestProperty -Type
DWord -Value 1'
Выполнить заданную команду shell/bash.
Синопсис:
sh command
Примеры:
sh 'pgrep firefox | xargs kill'
zonot 'Заголовок', 'Текст'
echo 'Тест'
console.log 'Тест'
mydir = tempdir()
sed '-i', 'BUILD_VERSION', 'v0.1.2', 'D:\\test.txt'