端末にset -x
と入力しました。
これで、端末は最後のコマンドを出力し続けます出力の上で実行すると、コマンド
~]$echo "this is what I see"
が返されます
+ echo "this is what I see" this is what I see
ありますset
のマニュアルページがありません。set -x
をオフにするにはどうすればよいですか?
コメント
回答
set +x
。詳細:
$ type set set is a special shell builtin
set
はシェルに組み込まれているため、シェルのドキュメントに記載されています。
一部のシステムにはシェル組み込みのマニュアルページがあることに注意してください。ただし、これらのマニュアルページは、デフォルトのシェルを使用している場合にのみ正しくなります。Linuxでは、POSIXコマンドを提示するマニュアルページがある場合があります。スタンドアロンユーティリティのmanページがないため、シェルビルトインが表示されます。これらのマニュアルページは、すべてのBourneスタイルのシェル(dash、bash、* ksh、さらにはzsh)に対して正しいですが、通常は不完全です。
ロングシェルのマニュアルページに組み込まれているものを検索するためのヒントについては、ロングマンページの読み取りと検索を参照してください。
この場合、答えはすべてのボーンスタイルのシェルで同じです。 set -LETTER
がオプションをオンにすると、set +LETTER
はそれをオフにします。したがって、set +x
はトレースをオフにします。 set +x
を読み取る最後のトレースは避けられません(シェルを終了させる場合を除きます。サブシェル(set -x; command to trace; other command to trace); command that is not traced
を使用できる場合もあります)。
コメント
- これは良い答えですが、基本的な"最後の段落に埋め込むのではなく、最初に+ x "を設定します。 (追加の詳細が役立つと思いました。)
-
{ set +x ;} 2> /dev/null
はset +x
トレースを非表示にします(won ' Bourneシェルでは機能しません)。ただし、一部のシェルは引き続き+ 2> /dev/null
を出力します。
回答
set +x
でデバッグモードを停止できます。例を参照してくださいページ
回答
デバッグを有効にしましたモードの場合は、オフにする必要があります。
フォームの抽出help set
:
-ではなく+を使用すると、これらのフラグがオフになります。
したがって、set +x
と入力します。
回答
$ set +x # is the opposite of set -x, and will reverse what you typed.
、以下を参照してください:
$ 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が指定されていない場合、すべてのシェル変数が出力されます。
コメント
- 間違いではありませんが、既存の回答以外に何を追加しましたか?
- @JeffSchaller It 'は直接性と簡潔さのために編集されています。この答えが必要なとき、私は正しい答えを見つけるためにページ全体を読まなければなりませんでした。実際、私は受け入れられた答えを読むのをあきらめて、
help set
に行ってそれを読みました。私は受け入れられた答えを改善しようとしました。 unix.stackexchange.com/revisions/149137/4 承認されましたが、拒否されました。ニュース記事のように、それは最も重要な情報から始まり、読者がいつでも停止する可能性があることを前提としています。次の各文と段落は、前の文よりも重要ではありません。 'はUNIXでの私のSOスタイルです。
set
はシェルのbuiltin
コマンドであるため(少なくともbashでは)、ドキュメントが見つかりますbash 'のマニュアルページ。マニュアルページで/^ *SHELL BUILTIN COMMANDS
を検索して、set
とその友達についてすべて読んでください!set
のman
ページ!これはPOSIXプログラマーガイドの一部です… 本当にそのシリーズを入手する必要があります…お願いしますか?help set
。