O'Reilly Hacks
oreilly.comO'Reilly NetworkSafari BookshelfConferences Sign In/My Account | View Cart   
Book List Learning Lab PDFs O'Reilly Gear Newsletters Press Room Jobs  



HACK
#57
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.
[Discuss (2) | Link to this hack]

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. 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.

Figure 1. Creating a DropScript application, before and after

Yes, it's a simple example, but any script will work as long as it expects only files and folders as arguments.

See also:



O'Reilly Home | Privacy Policy

© 2007 O'Reilly Media, Inc.
Website: | Customer Service: | Book issues:

All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.