6

I am using the open command from the Terminal to open an app bundle and would like to pass a command line argument through to the underlying executable.

Is this possible with the open command?

The reason I am using the open command at all here is that it doesn't tie up a Terminal window to support the launched process. Are there alternate ways to do this other than the open command ?

More Information:

The application I am looking to run is an open source visualization program (Paraview) which I have compiled myself. I know that the basic executable does indeed take command line args. The executable itself is located inside the app bundle paraview.app/Contents/MacOS/paraview.

2
  • Can you give more details about which app(s) you're launching? Different apps will deal with command line arguments differently (some will probably just ignore them). Aug 26, 2010 at 15:05
  • @Doug Harris - I've added some more info to the question. Thanks.
    – dtlussier
    Aug 26, 2010 at 16:07

1 Answer 1

9

As per $man open, you might be successful with $open MyApp.app --args argument1

Of course, you could always just run the executable directly and follow your command with an ampersand—that'll background it.

$/path/to/My.app/Contents/MacOS/executable argument &

3
  • 1
    Looks like --args is a new option in 10.6.
    – dtlussier
    Aug 26, 2010 at 17:02
  • 5
    Following the command with & does indeed put it into the background, but the process remains a child of the shell in which it was created. Avoiding this is one of the advantages of open.
    – dtlussier
    Aug 26, 2010 at 17:02
  • Ah, excellent point--I wasn't aware of that behavior for GUI apps.
    – NReilingh
    Aug 26, 2010 at 17:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.