Skip to content
Smashing Bash into Pieces
Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
src
.gitignore
LICENSE
README.md
bashing.project

README.md

bashing

bashing is a small tool that let's you create single-file Bash tools in a multi-file way.

Current stable Version: 0.2.2

Setup

Dependencies

bashing needs the GNU variant of sed to function properly. If you're on MacOS you can use e.g. Homebrew to install the package gnu-sed.

Installation

mkdir -p ~/.bin
curl -ko ~/.bin/bashing https://raw.github.com/xsc/bashing/stable/bin/bashing
chmod +x ~/.bin/bashing

Make sure ~/.bin is on your $PATH, e.g. by adding export PATH="$PATH:~/.bin" to your .bashrc.

Usage

Have a look at the wiki and the Quickstart Tutorial. And if you want to examine a full-fledged Bashing project, why not Bashing itself?

$ bashing new greet
Initializing ./greet ...
Successfully initialized './greet'.
$ cd greet

$ bashing new.task hi
Created Task 'hi'
$ bashing run hi
Hello from Task 'hi'
$ bashing uberbash
Creating /git/public/shell/greet/target/greet-0.1.0-SNAPSHOT.sh ...
Uberbash created successfully.

$ ./target/greet-0.1.0-SNAPSHOT.sh
Usage: ./target/greet-0.1.0-SNAPSHOT.sh <command> [<parameters> ...]

    hello    :  (no help available)
    help     :  display this help message
    hi       :  (no help available)
    version  :  display version

$ ./target/greet-0.1.0-SNAPSHOT.sh hi
Hello from Task 'hi'

$ ./target/greet-0.1.0-SNAPSHOT.sh version
greet 0.1.0-SNAPSHOT (bash 4.2.25(1)-release)

$ bashing install
Creating /git/public/shell/greet/target/greet-0.1.0-SNAPSHOT.sh ...
Uberbash created successfully.
Deploying to /home/yannick/.bin/greet ...
Deployed successfully.

$ greet version
greet 0.1.0-SNAPSHOT (bash 4.2.25(1)-release)

Bashing Bashing

To build bashing, check out this repository and run:

$ ./bin/bashing uberbash
Creating /git/public/bashing/target/bashing-0.1.0-SNAPSHOT.sh ...
Uberbash created successfully.

This will create a standalone bashing script using bashing itself!

License

Copyright © 2013-2015 Yannick Scherer

Bashing is distributed under the MIT License.

You can’t perform that action at this time.