Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux bash set-x非英语字符显示_Linux_Bash_Shell - Fatal编程技术网

Linux bash set-x非英语字符显示

Linux bash set-x非英语字符显示,linux,bash,shell,Linux,Bash,Shell,跑 它表明 set -x echo 中文 echo english 如何让它显示+回声中文 $ 而不是+echo$'\344\270\255\346\226\207' 如何显示+回音中文 $ 而不是+echo$'\344\270\255\346\226\207' 如果不更改bash源,这是不可能的 如何使其显示+回音中文 $ 而不是+echo$'\344\270\255\346\226\207' 为bash源代码编写一个补丁,并实现将使用此表示的您自己的行为。没有其他方法,因为set-x输出来

它表明

set -x
echo 中文
echo english
如何让它显示+回声中文 $ 而不是+echo$'\344\270\255\346\226\207'

如何显示+回音中文 $ 而不是+echo$'\344\270\255\346\226\207'

如果不更改bash源,这是不可能的

如何使其显示+回音中文 $ 而不是+echo$'\344\270\255\346\226\207'


为bash源代码编写一个补丁,并实现将使用此表示的您自己的行为。没有其他方法,因为
set-x
输出来自bash本身(除了前缀
+
可通过
PS4
配置)。生成set-x的输出。

可能取决于Bash的版本、操作系统和区域设置环境:

$echo中文
+回音中文
中文
$echo“$BASH\u版本”
+echo“5.0.17(1)-发布”
5.0.17(1)-发布
$locale
+地点
LANG=fr_fr.UTF-8
语言=fr:de_de:en
LC_CTYPE=“fr_fr.UTF-8”
LC\u NUMERIC=fr\u fr.UTF-8
LC_时间=fr_fr.UTF-8
LC\u COLLATE=“fr\u fr.UTF-8”
LC_MONETARY=fr_fr.UTF-8
LC_MESSAGES=“fr_fr.UTF-8”
LC_纸张=fr_fr.UTF-8
LC_NAME=fr_fr.UTF-8
LC\U地址=fr\U fr.UTF-8
LC_电话=fr_fr.UTF-8
LC_测量=fr_fr.UTF-8
LC_标识=fr_fr.UTF-8
立法会全体议员=

为什么?调试模式显示UTF字符的字节表示形式要更明确,如果您不知道过程中每个步骤的字符编码,那么查看单个字节是非常有价值的,并且解码的形式是不明确的。
+ echo $'\344\270\255\346\226\207'
中文
+ echo english
english