bashapp icon indicating copy to clipboard operation
bashapp copied to clipboard

Compile a bash script to a binary and make an OS X Application out of it in one step.

Overview

bashapp takes as input a bash script and generates a binary executable and OS X application directory structure. This allows developers to provide Finder clickable bash scripts without terminals popping up, etc. Useful for launch, service scripts, etc.

It also provides simple source encryption as a means to obfuscate the bash script. You can specify your own key, or let bashapp generate a randomly sized random key for you, no fewer than 32 bytes long.

(Note: it's recommended to let bashap create the key for you since every time you compile, it will create a new, pseudo-randomly generated value of variable length.)

Compiling

Type the following command in the Terminal to compile

gcc bashapp.c -o bashapp

Using bashapp

Usage: bashapp -k -i PATH_TO_BASH_SCRIPT APPNAME

E.g.

Create 'MyApp' with the default encryption key: bashapp script.sh MyApp

Create 'MyApp' with your own key: bashapp -i s#ZcrE33t script.sh MyApp

Create 'MyApp' with your own icon: bashapp -i someicon.icns script.sh MyApp