bash -p 쇼
"x\000": self-insert
어쩌면 철자 오류 때문일 수도 있습니다.
수정하려면 일반 바인딩 명령을 사용하세요.
bind "x":self-insert
또는
bind '"x":self-insert'
효과가 없습니다. 그래서 나는 다음을 통해 잘못된 바인딩을 제거하려고했습니다.
bind -r "x\000"
아무런 영향을 미치지 않습니다.
나는 따옴표와 백슬래시, $'\x00' 등을 사용하여 모든 변형('\0')을 시도했습니다.
bind -r "x"'\0'
성공하지 못했습니다.
하지만 처음으로 해결책은 다음과 같습니다.
bind -r ' "x" "$(echo -n -e "\x00")" '
두 번째 동일한 경우에는 작동하지 않습니다.
두 번째 경우는 일반 명령 때문입니다.
bind '"x":self-insert'
다시 bash -p가 표시됩니다.
"x\000": self-insert
정말 확실한 방법은 없을까요?
=====
== 수정됨 2022.12.08 16:05
고마워요. 하지만 물건을 잃지 않도록 셸을 닫지 않는 방법이 필요합니다.
. inputrc 또는 기타 시작 파일은 영향을 받지 않습니다.
내 답변에서 제안한 솔루션을 사용하면 원치 않는 바인딩이 성공적으로 제거되었습니다.
이제 문제는 새로운 올바른 바인딩을 만드는 방법입니다.
심지어
bind "$(echo -n -e "\0170")":self-insert
WYSIWYG가 없습니다. 내가 하는 모든 일은 다음으로 이어진다.
bash -p 쇼
"x\000": self-insert
당신은 그런 손상된 케이스가 없기 때문에 도움을 요청할 수 없습니다.
(나는 이것이 또 다른 배쉬 광기인지 추측할 용기가 없습니다)
인사
안톤 베셀
답변1
해결책은
bind -r "x" "$(echo -n -e "\x00")"
왜 질문하세요?
bind '"x":self-insert'
다시 bash -p가 표시됩니다.
"x\000": self-insert
아직 해결되지 않았습니다. 그 이유는 이 명령에 문자 그대로 "x"를 입력하지 않고 8진수 또는 10진수로 입력하기 때문입니다(16진수에서는 "x"가 포함되어 있으므로 작동하지 않음).
십진수에 "x"를 삽입하는 방법을 시도 중입니다.