Turning a Command-Line Script into an Application

What do you get when you combine the power of Unix scripting with the simplicity of the OS X GUI? A powerful droplet application limited only by your scripting prowess.

DropScript (http://www.advogato.org/proj/DropScript/), as the name suggests, is a little application onto which you can drop any shell, Perl, or other command-line script. It turns that script into a full-fledged, self-contained, double-clickable application capable of running on your desktop and doing interesting things with any files you feed it.

Perhaps an example is in order. I’ll create a shell script to zip any files passed to it on the command line:

#!/bin/sh
gzip "$@"

I save it to gzip.sh, make it executable, and give it a whirl on the command line:

% chmod +x gzip.sh
% echo "something" > file1
% echo "something else" > file2
% ./gzip.sh file1 file2
% ls *.gz
file1.gz file2.gz

It works as expected, gzipping any files it’s given.

Now I drag gzip.sh on to the DropScript application. Within seconds, a new application is created, called, suspiciously, Dropgzip (see Figure 5-23). This is a tiny application with all the functionality of my original gzip.sh shell script. Like its parent, it accepts files — only dropped onto it from the Finder rather than fed to it on the command line.

Creating a DropScript application, before and after

Figure 5-23. Creating a DropScript application, before and after

Yes, it’s a simple ...

Get Mac OS X Hacks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.