-
Notifications
You must be signed in to change notification settings - Fork 3
/
appify
50 lines (34 loc) · 1.14 KB
/
appify
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash
# Modified From: https://gist.github.com/mathiasbynens/674099
if [ "$1" = "-h" -o "$1" = "--help" -o -z "$1" ]; then cat <<EOF
appify v3.0.1 for Mac OS X - http://mths.be/appify
Creates the simplest possible Mac app from a shell script.
Appify takes a shell script as its first argument:
`basename "$0"` my-script.sh
Note that you cannot rename appified apps. If you want to give your app
a custom name, use the second argument:
`basename "$0"` my-script.sh "My App"
Copyright (c) Thomas Aylott <http://subtlegradient.com/>
Modified by Mathias Bynens <http://mathiasbynens.be/>
EOF
exit; fi
SCRIPTDIR=$(dirname "$1")
APPNAME=${2:-$(basename "$1" ".sh")}
DIR="$SCRIPTDIR/$APPNAME.app/Contents/MacOS"
if [ -a "$APPNAME.app" ]; then
echo "$PWD/$APPNAME.app already exists :("
exit 1
fi
mkdir -p "$DIR"
MYSCRIPT=$(sed 's/#.*$//' "$1" | sed '/^\s*$/d')
read -d '' WHOLEFILE <<GRABTHIS
#!/bin/bash
read -d '' EXECUTE <<DACODE
$MYSCRIPT
DACODE
osascript -e \"tell application \\\"Terminal\\\" to do script \\\"\$EXECUTE\\\"\"
GRABTHIS
echo "$WHOLEFILE" > "$DIR/$APPNAME"
chmod +x "$DIR/$APPNAME"
echo "$SCRIPTDIR/$APPNAME.app"
#open "$DIR"