--argsは、それ以降のすべての引数をopen自身では解釈せず、起動するアプリケーションのargvにそのまま渡すオプションである。

参考: 【open】コマンドでファイル・ディレクトリを開く

–argsで引数を渡す

$ open -a TextEdit --args --customFlag hello-arg

--args以降の--customFlag hello-argは、openのオプションとしてではなく、TextEditプロセスのargvとしてそのまま渡される。実際に起動したプロセスをpsで確認すると、渡した引数がそのまま含まれている。

$ ps -ww -p <PID> -o command=
/System/Applications/TextEdit.app/Contents/MacOS/TextEdit --customFlag hello-arg

注意点

--args以降に書いた文字列は、ファイルパスとして開かれることはなく、openコマンド自身のオプション(-aなど)としても解釈されない。すべて起動するアプリケーションの起動時引数として渡される。渡した引数をアプリケーションがどう扱うかは、そのアプリケーションの実装次第である。コマンドライン引数を解釈しないアプリケーションに渡しても、単に無視される。

参考

open command - Open a file, folder or URL