電話時にBashでウォッチフェイスを無効にできますか?

電話時にBashでウォッチフェイスを無効にできますか?

Bash内部を使用してWatchモードを無効にできますset +m。 Bashの呼び出しパラメータを使用してこれを実行できるかどうか疑問に思います。つまり、次のようになります。

bash +o monitor

おそらく:

bash +m

私はしばらくBashのマンページを見ましたが、これは不可能なようです。

ベストアンサー1

チートを使用しない限り、呼び出し時にコマンドラインオプション/引数を使用して対話型bashセッションのモニタモードを無効にすることは不可能です。私はソースコード(主にファイル)を調べてこれを決めました。シェルそして仕事.cgit clone git://git.savannah.gnu.org/bash.git検索を容易にするためにリポジトリをローカルに複製しました。

Bash起動シーケンスはモニターモードを有効にしているため、呼び出し時にモニターモードを無効にすることはできません。後ろにさまざまなオプション/パラメータを処理します。bash +o monitorbashを呼んでも一時的に設定オプションからparse_shell_options後で次の関数を呼び出す関数です。set_job_control(対話型モードの場合も同様です。)グローバル変数 "job_control"をtrue("interactive"パラメータ値)に設定します。

インタラクティブコマンドには監視モードを無効にする機能がありますが、監視モードはデフォルトのショッピングオプションではないため、+Oこの機能を介した潜在的なショッピングパスrun_shopt_alistは目の前の路地です。shoptshopt -o -u monitor

チート方法は外部ファイルに依存します。含まれている代替bashrcファイルを生成しset +m(オプションで実際の〜/ .bashrcを取得した後)、次のようにbashを呼び出します。

bash --rcfile /path/to/that/alternate_bashrc_file

これは、rcfileの解析が完了したために機能します。run_startup_files機能)後ろに set_job_control最終的にシェルオプションを設定できるように呼び出されます。

おすすめ記事