bash set -x 非英文字符显示

Sin*_*inh 0 linux bash shell

set -x
echo ??
echo english
Run Code Online (Sandbox Code Playgroud)

表明

+ echo $'\344\270\255\346\226\207'
??
+ echo english
english
Run Code Online (Sandbox Code Playgroud)

如何让它显示+回声??$ 而不是 + echo $'\344\270\255\346\226\207'?

Léa*_*ris 5

可能取决于 Bash 的版本、操作系统和语言环境:

$ echo ??
+ echo ??
??
$ echo "$BASH_VERSION"
+ echo '5.0.17(1)-release'
5.0.17(1)-release
$ locale
+ locale
LANG=fr_FR.UTF-8
LANGUAGE=fr:de_DE:en
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY=fr_FR.UTF-8
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER=fr_FR.UTF-8
LC_NAME=fr_FR.UTF-8
LC_ADDRESS=fr_FR.UTF-8
LC_TELEPHONE=fr_FR.UTF-8
LC_MEASUREMENT=fr_FR.UTF-8
LC_IDENTIFICATION=fr_FR.UTF-8
LC_ALL=
Run Code Online (Sandbox Code Playgroud)