public
Last active — forked from subtleGradient/appify

appify — create the simplest possible Mac app from a shell script

  • Download Gist
appify
Shell
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
#!/usr/bin/env bash
#
# url : https://gist.github.com/672684
# version : 2.0.2
# name : appify
# description : Create the simplest possible mac app from a shell script.
# usage : cat my-script.sh | appify MyApp
# platform : Mac OS X
# author : Thomas Aylott <oblivious@subtlegradient.com>
 
APPNAME=${1:-Untitled}
 
if [[ -a "$APPNAME.app" ]]; then
echo "App already exists :'(" >&2
echo "$PWD/$APPNAME.app"
exit 1
fi
 
mkdir -p "$APPNAME.app/Contents/MacOS"
touch "$APPNAME.app/Contents/MacOS/$APPNAME"
chmod +x "$APPNAME.app/Contents/MacOS/$APPNAME"
 
DONE=false
until $DONE ;do
read || DONE=true
[[ ! $REPLY ]] && continue
echo "$REPLY" >> "$APPNAME.app/Contents/MacOS/$APPNAME"
done
 
echo "$PWD/$APPNAME.app"

@mathiasbynens FTW!
Much better.

I tried to make it work using cp before but couldn't get it working for some strange reason. I forget the original issue I ran into.

Feel free to backport these changes into your original gist if you like! It’s still your script :) I’ll update my blog post accordingly.

Great script guys! Thanks!

I used this today to on a .sh script of mine. When launching the app it states: "You can't open the application...because PowerPC applications are no longer supported. I'm running Mountain Lion. My .sh script runs fine natively, it is small and just uses a couple curl lines to download some tar.gz files. Any ideas?

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.