debug()出力の先頭の合計はどういう意味ですか+
?++
bash
set -x
原文はこうです
++ delete
+ exitstatus=0
+ '[' 0 = 0 ']'
++ delete
+ whiptail --title 'Command output 1311' --separate-output --scrolltext --msgbox '/usr/bin/raspi-config-DEBUG.sh: line 1311: delete: command not found' 17 80 10
+ echo '1317 done printing choice to stdout'
答え1
これがプロンプト+
です(通常のプロンプトや一部のバリアントと同様に、デフォルトの対話型プロンプトです)。トレースが有効になると、各コマンドが実行される前に出力されます。PS4
PS1
$
set -x
このマニュアルにはbash
次のように記載されています。
PS4
このパラメーターの値はこのように拡張され、
PS1
実行トレース中に各コマンドbashが表示される前に印刷されます。の最初の文字は、PS4
複数レベルの間接参照を表すために必要なだけコピーされます。デフォルト値はです+
。
あなたが見ることができる倍数は、+
サブシェルで実行されるコマンドによって引き起こされます。
3つのレベルのサブシェルを示す例:
$ cat script.sh
#!/bin/bash
echo "$( echo "$( echo hi )" )"
$ bash -x script.sh
+++ echo hi
++ echo hi
+ echo hi
hi