Bash wird in einem Zustand geliefert, in dem eine Zeichenfolge aus drei Wörtern als Zeichenfolge aus einem Wort behandelt wird. Warum?

Bash wird in einem Zustand geliefert, in dem eine Zeichenfolge aus drei Wörtern als Zeichenfolge aus einem Wort behandelt wird. Warum?

Bash Version 5.2.15(1)-Release (i686-PC-Linux-Gnu).

Viele Bash-Versionen werden in Windows-Terminals unter Konsole in KDE ausgeführt.

Seit einigen Tagen befindet sich eine dieser Shells, Bash, in einem merkwürdigen Zustand: Eine Zeichenfolge aus drei Wörtern wird als Zeichenfolge aus einem Wort behandelt.

Der Testcode lautet:

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

Die falsche Ausgabe ist:

WE_noe: ~1~
0:: a b c

Die LEERZEICHEN zwischen abc bleiben erhalten.

Die korrekte Ausgabe sollte sein:

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

Die Ursache könnten Tippfehler sein, ich weiß es nicht.

Bitte helfen Sie:

Was ist die Ursache,

was für ein besonderer Zustand von Bash ist das,

wie kann ich Bash auf den Normalzustand zurücksetzen?

Die Befehle „tset“ und „reset“ helfen nicht.

Grüße

== Addon 08.02.2023::12:00

Ausgänge von

stty -g

denn diese schlechte Sause und die gute Sause sind unterschiedlich.

Sie unterscheiden sich im ersten Wert vor dem ersten Doppelpunkt.

guter Bash ist

5100: ...

bad bash ist

6506: ...

Daran muss ich arbeiten.

Grüße

verwandte Informationen