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 -LETTER
set +LETTER
set +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が指定されていない場合は、すべてのシェル変数が印刷されます。