web-dev-qa-db-ja.com

Bashターミナルのopenコマンドでハイフンをエンコードするにはどうすればよいですか?

Svndiffを実行するとBeyondCompareを起動する小さなスクリプトを作成しようとしています。私はこれまでそれを機能させました:

open -a /Applications/Beyond\ Compare.app "$6" "$7"

完全な機能を取得するには、ハイフン(-、ダッシュ、マイナス記号)を使用して引数を追加する必要があります

open -a /Applications/Beyond\ Compare.app "$6" "$7" -title1="$3" -title2="$5" -readonly

しかし、それを行うと、openコマンドはハイフンをそれ自体のフラグとして解釈し、次のように終了します。

open: invalid option -- i
usage: ...

コマンド全体を「引用」するか、オプションをエスケープしてみました。追加機能を取得するにはどうすればよいですか?

2
Luc Bloom

開いているマンページを参照してください。

 --args
     All remaining arguments are passed to the opened application in the argv parameter to
     main(). These arguments are not opened or interpreted by the open tool.

したがって、コマンドは次のようになります。

open -a /Applications/Beyond\ Compare.app "$6" "$7" --args -title1="$3" -title2="$5" -readonly
0
chaos