「set -x」を元に戻す方法は?

「set -x」を元に戻す方法は?

set -x端末に入力します。

これで、端末は私の出力の上に最後のコマンドの実行を印刷し続けるので、コマンドは

~]$echo "this is what I see"

返品

+ echo 'this is what I see'
this is what I see

マニュアルページがありませんset。どうやって閉じますかset -x

答え1

使用set +x。追加情報:

$ type set
set is a special shell builtin

setこれはシェル組み込みコマンドなので、シェル文書に文書化されています。

一部のシステムにはシェル組み込みコマンドのマニュアルページがありますが、これはデフォルトのシェルを使用している場合にのみ正確です。 Linuxでは、これを隠すためのスタンドアロンユーティリティのマニュアルページがないため、シェルの組み込みに表示されるPOSIXコマンドを提供するマニュアルページがあります。これらのマニュアルページでは、すべてのBourneスタイルのシェル(dash、bash、* ksh、またはzsh)は正確ですが不完全な場合がよくあります。

バラより長いマニュアルページを読むと検索組み込み機能の長いシェルのマニュアルページ検索のヒント。

この場合、答えはすべてのBourneスタイルのシェルに対して同じです。オプションがオンの場合はオフにします。したがって、トレースを閉じます。set -LETTERset +LETTERset +x

コマンド自体と同様に、最後のトレースをset +x完全に避けることはできません。を使用してこれを抑制することができますが、{ set +x; } 2>/dev/null一部のシェルにはまだリダイレクト自体の兆候があります。トレースを実行せずに(サブ)シェルを終了すると、トレースを回避できますset +x。トレースされたコマンドをサブシェルで実行できる場合(set -x; command to trace; other command to trace); command that is not traced

答え2

でデバッグモードを停止できますset +x。例を見るページ

答え3

デバッグモードが有効になっており、オフにする必要があります。

help setシェル出力から抽出されたbash

- 代わりに+を使用すると、これらのフラグはオフになります。

だから入ってくださいset +x

答え4

$ set +x # is the opposite of set -x, and will reverse what you typed.

set次のようなため、マニュアルページが見つかりません。

$ type set

set特殊な組み込みシェルです。シェルのマニュアルページに文書化されていますが、これがbashであると仮定すると、次のいずれかを使用して特定の文書を取得することもできます。

$ help set || builtin help set # luckily Bash has builtin help on builtin commands

bashやshのマニュアルページは読みやすいが、整理するには少し長い。設定を解除するために必要な有効な情報は-x前半の最後にあり、Exit Status:次のようになります。

- 代わりに+を使用すると、これらのフラグはオフになります。これらのフラグは、シェルを呼び出すときにも使用できます。現在のフラグセットは$-にあります。残りのn個のARGは、位置パラメータとして$ 1、$ 2、.. $ nに順番に割り当てられます。 ARGが指定されていない場合は、すべてのシェル変数が印刷されます。

関連情報