Passing Command Line Args to `open` on Mac
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 &
Related videos on Youtube
dtlussier
Mechanical engineer with experience working in composite material manufacturing and fluid mechanics research. Familiar with Linux, OS X, Python, NumPy/SciPy, HPC clusters, etc.
Updated on September 17, 2022Comments
-
dtlussier almost 2 years
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
.-
Doug Harris almost 14 yearsCan 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).
-
-
dtlussier almost 14 yearsLooks like
--args
is a new option in 10.6. -
dtlussier almost 14 yearsFollowing 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 ofopen
. -
NReilingh almost 14 yearsAh, excellent point--I wasn't aware of that behavior for GUI apps.