LINAC is not a compiler
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Joe 8bb07d8f7b
continuous-integration/drone/push Build is passing Details
rebuild linac
1 year ago
config set log level to debug 2 years ago
src remove stray escape from grep regex 1 year ago
.drone.yml [ci] update drone config 2 years ago
.gitignore track config 3 years ago
LICENSE Initial commit 3 years ago correct license link 2 years ago
linac rebuild linac 1 year ago add proper logging function 2 years ago bump version 1 year ago


License Latest Release Build Status


LINAC is intended to make writing and maintaining good shell scripts easier. Also see the project overview and roadmap.

Getting Started


LINAC is alpha software. It's current features work well enough, but there are likely to be bugs and failures in edge cases.

LINAC is built with LINAC! You can use this repo as an example project.

Download the latest version of LINAC from the releases page and mark it as executable: chmod +x linac. To start a project in your current directory use: ./linac init. LINAC will create some necessary project files and folders for you.

Source files should be placed in src. Splitting your project into multiple files will help make it more manageable. An easy method to use is to create a new source file for each function you write.

The path to each source file you wish to include in your project should be written in the build file. If your project is named 'MyProject', the build file will be

When you're ready to build your project, use ./linac build LINAC will output the result to the build folder by default.

If you wish to install LINAC globally, copy it to a location in your PATH, e.g. sudo cp -a linac /usr/local/sbin/. Doing this will allow you to invoke LINAC by simply typing linac in any directory instead of needing to type ./linac in the same directory as LINAC.

Contributing to LINAC

Contributions are welcome!


The name LINAC is a recursive acronym which stands for "LINAC is not a compiler".