特定のエラーは、--executeオプションを正しく使用していないことが原因です。以下のmanページからの抜粋を見ると、コマンドラインの残り全体を実行するだけなので、構文の一部として等号がリストされて--execute いないことがわかります。正しい使用例は次のとおりです。
gnome-terminal --execute play '/home/cjohnson/Still Alive.mp3'
重要な注意:とにかく、
使用cdは少し特殊なケースです。cdほとんどのコマンドとは異なり、独自のバイナリ/実行可能ファイルを起動しません。これはbash(または使用しているシェルによって)直接解釈されます。したがって、呼び出しを試みるcdことは、--executeおよび-xフラグ(子プロセスを直接生成したいと思われる)と一致しません。同じbashように直接処理される他のコマンドでも同じ問題が発生します(私は確認しました)home。等号なしで適切に使用した場合でも、「ファイルまたはディレクトリが見つかりません」というエラーが発生します。したがって、--working-directory=[DIRECTORY]オプションを使用することは、やりたいことを行うための最善の策です。
その他の重要な注意:
これが当てはまらない場合でも、問題が発生します。問題は、--execute実際にオプションの意味を意図しているときにオプションを使用しようとすることです--command。マニュアルページのドキュメントでは、それは具体的に述べています
-e、--command = STRING 端末内でこのオプションの引数を
実行します。
-x、--execute ターミナル内の残りのコマンドラインを
実行します。
(強調鉱山)
言い換えれば、あなたが思っているようにそれを解析することはおそらくないでしょう。を使用--executeすると、以降のオプションをに渡すことができなくなりますgnome-terminal。
複数のコマンドを別々のタブで実行する自分のスクリプトの1つからの抜粋(プライバシー/セキュリティのために名前を変更):
gnome-terminal --tab --command="ssh cjohnson@GLaDOS" --tab --command="ssh drattman@GLaDOS"
(ちなみに、またはで--commandフラグを使用しようとすると、おなじみの「そのようなファイルまたはディレクトリはありません」エラーが発生します。)cdhome
これが長すぎないことを願っています。私はただ徹底しようとしています。