Macos Launch App From Command Line

jnojr


Joined
Aug 11, 2012
Messages
85
Reaction score
1
Points
8
Location
San Diego, CA

In OS X 10.6, the open command was enhanced to allow passing of arguments to the application: open./AppName.app -args -AppCommandLineArg But for older versions of Mac OS X, and because app bundles aren't designed to be passed command line arguments, the conventional mechanism is to use Apple Events for files like here for Cocoa apps or here for Carbon apps.

Update Macos Command Line

How can I install an .app from the command line?
I know that some .apps (like Firefox and Chrome) are just directories that can be dragged or copied to /Applications But others aren't. For example, Flash Player.
I'm looking for either a command, like 'installer -pkg /path/to/installer.pkg -target /' that works with .apps, or a way to dig out the logic the .app uses when it's double-clicked so I can recreate the installation process myself.

In some flavors of Unix, you feel as if you've been cast into an alternate universe when you open a terminal window and work on the command line. But with OS X and its Darwin core, there's often an elegant integration between the two. In this how-to I'll show you how to launch an OS X app from the command line with the open command.

[Note: A little bit of prior UNIX experience will be helpful here.]

First off, I will admit this technique is fairly geeky. In my [Mac] OS X career, I've only used this trick a handful of times. However, it's so darn cool and charming that one just aches to use it at any opportunity.

Actually, upon reflection, there are some useful scenarios for this technique.

  1. The Finder acts up, a terminal window is already open, and you'd like to be able to launch a GUI app that might help you diagnose the problem.
  2. You're a UNIX professional, live and breathe the command line, but you'd rather use a GUI text editor for coding instead of the raw and ugly vi or Emacs editors.
  3. You're writing, say, a Perl or Python script, for another user and, at some point in the script, you'd like to launch a GUI app that carries the workflow forward.
  4. You want to quickly run a utility with admin privileges without the restriction of the account you're logged into. See, for example, 'How to Find & Recover Missing Hard Drive Space.' In that case, you must bypass the open command and drill into the Package Contents to run the app with sudo and admin privileges. But I've digressed.

The Man Page

The terminal app is in the Utilities folder—which is found the Applications folder. Launch it now. The BSD UNIX command we'll be using is open. Below is the manual page ('man' for short), shown by typing:

I've printed most of the man page for the open command here for your perusal, but I'm not going to explore every argument. And feel free to jump right to the examples below to whet your appetite.

For this limited how-to, one interesting way to use the open command in this context is to use the [-a] option. Some other useful variations and arguments are in the examples below.

Typical Examples

Here are some short and sweet examples of the open command with the -a, -e, and -t arguments. They're easy to try. [If you don't have BBEdit installed, use any other favorite a text editor in /Applications.]

Macos Command Line Tools

Open Doors

These are just a few of the cool things you can do on the command line with the open command. To keep things simple, I haven't delved into creating a search path or other Unix tricks like aliases. All that's been left for you to explore on your own.

I think this is one of the neatest tricks in OS X.

Macos Launch App From Command Line

Macos Launch App From Command Line Free

__________________

Macos Command Line Reference

Launch button via Shutterstock.