bash 处于将三个单词的字符串视为一个单词的字符串的状态,为什么?

bash 处于将三个单词的字符串视为一个单词的字符串的状态,为什么?

bash ver 5.2.15(1)-release(i686-pc-linux-gnu)。

许多 bash 在 KDE 中的 Konsole 下的 Windows 终端中运行。

自几天以来,其中一个 shell bash 进入了一种奇怪的状态:三个单词的字符串被视为一个单词的字符串。

测试代码为:

WEy="a b c"; read -a WEarr <<< "$WEy"; WE_noe=${#WEarr[@]}; echo "WE_noe: ~$WE_noe~"; for ((i=0; $i<$WE_noe; i++)); do echo "$i:: ${WEarr[$i]}"; done

错误的输出是:

WE_noe: ~1~
0:: a b c

abc 之间的空格被保留。

正确的输出应该是:

WE_noe: ~3~
0:: a
0:: b
0:: c

原因可能是打字错误,我不知道。

请帮忙:

原因何在?

这是多么特殊的狂欢状态啊,

我怎样才能将 bash 重置为正常状态?

命令“tset”和“reset”没有帮助。

问候

== 插件 08.02.2023::12:00

输出

stty -g

对于这种糟糕的抨击和好的抨击是不同的。

它们在第一个冒号之前的第一个值上有所不同。

好的 bash 是

5100: ...

糟糕的 bash 是

6506: ...

我必须继续努力。

问候

相关内容