$ history
...
242 yum whatprovides */bin/xdotool
243 yum provides */bin/xdotool
244 yum provides xdotool
245 yum whatprovides xdotool
246 yum whatprovides xdotool
프롬프트에 따르면:
up
[root@localhost Downloads]# yum whatprovides xdotool
up
[root@localhost Downloads]# yum whatprovidesxdotool
up
[root@localhost Downloads]# yumtprovidesxdotool
up
[root@localhost Downloads]# yumtprovides*/bin/xdotool
up
[root@localhost Downloads]# yumwhattprovides*/bin/xdotool
첫 번째 호출된 명령에는 (유니코드 상자 문자)로 표시되는 인쇄할 수 없는 문자가 있는데 ☐
, 이는 내 터미널에 표시되지 않고 문자 공간을 차지하지 않습니다. 내 터미널에는 다음이 표시됩니다.
yum whatprovides xdotool
그게 아니야 :
yum whatprovides ☐xdotool
사용 cat -A
:
$ history | cat -A
...
246 yum whatprovides M-BM-^Vxdotool $
저는 Windows 10에서 Cygwin을 실행하고 mintty
있으며 셸을 통해 Fedora 29에 연결되어 있습니다.
저는 시스템 기본값을 사용하고 있습니다.
$ echo $PS1
[\u@\h \W]\$
나는 이것이 다음과 관련이 있다고 생각합니다.
https://unix.stackexchange.com/a/31643/81989
PS1에 있을 때 bash는 기록을 스크롤할 때 올바르게 다시 그릴 수 있도록 인쇄된 문자 수를 계산합니다. 이것이 bash에 [ 및 ] 특수 문자가 있는 이유입니다. 이는 bash에 포함된 문자를 인쇄할 수 없다는 것을 알려주고 필요한 경우 프롬프트를 다시 그리는 방법을 bash가 알아내는 데 도움이 됩니다.
내 기록에 있는 인쇄할 수 없는 문자로 인해 오류가 발생했다고 생각합니다.
나는 이런 일이 어떻게, 왜 일어나는지 이해하고 싶지만 다음 사항도 알고 싶습니다.
- 어떤 옵션을 사용할 수 있나요? 기록을 지우지 않고 복구할 수 있나요?
- 앞으로 이런 일이 발생하지 않도록 명령 기록에서 이러한 문자를 삭제하도록 Bash를 구성할 수 있습니까?
- 문제의 캐릭터가 누구인지 알 수 있는 방법이 있나요?
그런데, 인쇄할 수 없는 문자를 명령 기록에 보관하면 어떤 이점이 있나요? 이 문제에 직면할 때마다 항상 번거로운 일입니다.