bash 的狀態是將三個單字組成的字串視為單字組成的字串,為什麼?

bash 的狀態是將三個單字組成的字串視為單字組成的字串,為什麼?

bash 版本 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 狀態,

如何將 bash 重置為正常狀態?

命令“tset”和“reset”沒有幫助。

問候

== 插件 08.02.2023::12:00

的輸出

stty -g

這個糟糕的狂歡和一個好的狂歡是不一樣的。

它們的不同之處在於第一個冒號之前的第一個值。

好的 bash 是

5100: ...

糟糕的打擊是

6506: ...

我必須繼續努力。

問候

相關內容