All Projects → igor-petruk → Scriptisto

igor-petruk / Scriptisto

Licence: apache-2.0
A language-agnostic "shebang interpreter" that enables you to write scripts in compiled languages.

Programming Languages

rust
11053 projects
scripting
82 projects

Labels

Projects that are alternatives of or similar to Scriptisto

Lessmd
A small markdown viewer/converter for unix terminal.
Stars: ✭ 122 (-21.29%)
Mutual labels:  unix
Fluentftp
An FTP and FTPS client for .NET & .NET Standard, optimized for speed. Provides extensive FTP commands, File uploads/downloads, SSL/TLS connections, Automatic directory listing parsing, File hashing/checksums, File permissions/CHMOD, FTP proxies, FXP support, UTF-8 support, Async/await support, Powershell support and more. Written entirely in C#,…
Stars: ✭ 1,943 (+1153.55%)
Mutual labels:  unix
Pimd
PIM-SM/SSM multicast routing for UNIX
Stars: ✭ 143 (-7.74%)
Mutual labels:  unix
Uftpd
FTP/TFTP server for Linux that just works™
Stars: ✭ 122 (-21.29%)
Mutual labels:  unix
Adams
UNIX system administration in Common Lisp
Stars: ✭ 135 (-12.9%)
Mutual labels:  unix
Asciinema Player
asciinema player is an open-source terminal session player written in Javascript and Rust/WASM. Unlike other video players asciinema player doesn't play heavy-weight video files (.mp4, .webm etc) and instead plays light-weight terminal session files called asciicasts.
Stars: ✭ 1,948 (+1156.77%)
Mutual labels:  unix
Unix Stream
Turn Java 8 Streams into Unix like pipelines
Stars: ✭ 119 (-23.23%)
Mutual labels:  unix
Wwwolf Php Webshell
WhiteWinterWolf's PHP web shell
Stars: ✭ 147 (-5.16%)
Mutual labels:  unix
Pipe operator
Elixir/Unix style pipe operations in Ruby - PROOF OF CONCEPT
Stars: ✭ 136 (-12.26%)
Mutual labels:  unix
Oksh
Portable OpenBSD ksh, based on the Public Domain Korn Shell (pdksh).
Stars: ✭ 142 (-8.39%)
Mutual labels:  unix
Bash Utils
A collection of hand-crafted bash scripts for various common tasks.
Stars: ✭ 124 (-20%)
Mutual labels:  unix
Unix V6
UNIX 6th Edition Kernel Source Code
Stars: ✭ 125 (-19.35%)
Mutual labels:  unix
Nami
A decentralized binary package manager.
Stars: ✭ 141 (-9.03%)
Mutual labels:  unix
Socket
Non-blocking socket and TLS functionality for PHP based on Amp.
Stars: ✭ 122 (-21.29%)
Mutual labels:  unix
Xmenu
a x11 menu utility
Stars: ✭ 145 (-6.45%)
Mutual labels:  unix
Simple
The Simple Intelligent and Modular Programming Language and Environment
Stars: ✭ 120 (-22.58%)
Mutual labels:  unix
I3wm Themer
🎨 Theme collection manager for i3-wm
Stars: ✭ 1,854 (+1096.13%)
Mutual labels:  unix
Cbox
convert any python function to unix-style command
Stars: ✭ 154 (-0.65%)
Mutual labels:  unix
Simplemagic
Simple file magic number and content-type library which provides mime-type determination from files and byte arrays
Stars: ✭ 146 (-5.81%)
Mutual labels:  unix
Smcroute
Static multicast routing for UNIX
Stars: ✭ 140 (-9.68%)
Mutual labels:  unix

Scriptisto

Latest Version Build Status Crates.io License Libraries.io dependency status for latest release GitHub top language

Crates.io GitHub All Releases

It is tool to enable writing one file scripts in languages that require compilation, dependencies fetching or preprocessing.

It works as a "shebang" for those scripts, extracting build instructions from comments. If a script is changed, scriptisto rebuilds it and caches the result. If a script was already built, scriptisto immediately delegates to a binary with only <1 ms overhead.

Builds in Docker are available.

Advantages and use-cases are listed in the Wiki.

Demo

#!/usr/bin/env scriptisto

#include <stdio.h>
#include <glib.h>

// scriptisto-begin
// script_src: main.c
// build_cmd: clang -O2 main.c `pkg-config --libs --cflags glib-2.0` -o ./script
// scriptisto-end

int main(int argc, char *argv[]) {
  gchar* user = g_getenv("USER");
  printf("Hello, C! Current user: %s\n", user);
  return 0;
}
$ chmod +x ./script.c
$ ./script.c
Hello, C! Current user: username

Installation

Scriptisto is available as a prebuilt statically-linked standalone binary or distrubutions packages at Releases or at Crates.io.

Please proceed to the Installation for instructions.

Documentation

Proceed to our Wiki.

Disclaimer

This is not an officially supported Google product.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].