Apple - How to make a Mac OS X .app with a shell script?

Well, it's been years I use this simple trick to have bash scripts in application (and really really don't understand why all people try so complicated solutions as creating "Contents" folders, info.plist or use Automator or Platypus or so... ????).

  1. Create a folder named "YourApplication.app". It can be created at any location that is convenient to your usage. Though, the most OS compliant locations may be /Applications or your own ~/Applications folder.
  2. Put your script file directly in this folder the way that suites you the best (Finder, terminal etc). The script must be executable of course (use chmod +x if you need). No need for other folders or file (until you need to call other scripts or executable from within your script of course) The trick is to name your script with exactly the same name as the application folder but without extension. In the case described here the script file must be named "YourApplication".

That's all ! It works on Mac os x since Snow Leopard to Mavericks. If anybody can try on newer OS versions and tell me.

Note: The script must be at least 28 bytes in size, otherwise it will not execute. It may be padded with blank lines to achieve minimum size. Also, the first line of the script must be a shebang; e.g. #!/bin/bash or #!/bin/perl.


If it is a simple shell script, then you don't need to wrap it in an application bundle; you can double-click the script itself. However, you won't get the ability to have a custom icon or other things like that.

I think there are a few helpers out there that can wrap simple scripts, but the only one that I have experience with is Platypus which allows you to make shell/python/perl/ruby/etc scripts run like regular applications with icons, I/O redirections, etc.