bash는 세 단어의 문자열을 한 단어의 문자열로 처리하는 상태로 나오네요. 왜 그럴까요?

bash는 세 단어의 문자열을 한 단어의 문자열로 처리하는 상태로 나오네요. 왜 그럴까요?

bash 버전 5.2.15(1)-릴리스(i686-pc-linux-gnu).

많은 bash가 KDE의 Konsole 아래 창 터미널에서 실행되고 있습니다.

며칠 후 이러한 쉘 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" 명령은 도움이 되지 않습니다.

문안 인사

== 애드온 2023년 2월 8일::12:00

출력

stty -g

이 나쁜 배쉬와 좋은 배쉬는 다릅니다.

첫 번째 콜론 앞의 첫 번째 값이 다릅니다.

좋은 배쉬는

5100: ...

나쁜 배쉬는

6506: ...

나는 계속 노력해야 한다.

문안 인사

관련 정보