Ubuntu의 bash는 INPUTRC를 지원하지 않습니다.

Ubuntu의 bash는 INPUTRC를 지원하지 않습니다.

나는 그것을 내 홈 폴더 밖으로 파일을 INPUTRC이동하는 데 사용합니다. .inputrc예전에는 작동했지만(나처럼 GNU bash, version 5.1.4) bash에서는 더 이상 존중 version 5.1.16되지 INPUTRC않습니다.

$ which $SHELL
/usr/bin/bash

$ $SHELL --version
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2020 Free Software Foundation, Inc.
. . .

$ env | grep INPUTRC
INPUTRC=/home/foo/bin/.inputrc

$ ls ~/.inputrc
ls: cannot access '/home/foo/.inputrc': No such file or directory
  1. INPUTRC파일에 다음이 포함되어 있습니다.
set echo-control-characters off
set completion-ignore-case on

그러나 어느 쪽도 존중받지 못했습니다.

  1. ~/.inputrc위의 두 줄을 포함하는 파일을 생성하면 둘 다 작동합니다.

  2. ~/.inputrcmy를 가리키는 파일을 생성하면 /home/foo/bin/.inputrc두 경우 모두 괜찮습니다.

  3. 그러나 ~/.inputrc파일을 삭제하고 INPUTRC다시 단독으로 사용하면 두 가지 상황 모두 더 이상 작동하지 않습니다.

그래서,

  1. 내가 사용하고 있는 bash 버전에 문제가 있나요?
  2. bash가 명예로운지 어떻게 알 수 있나요 INPUTRC?
  3. 이 문제를 디버깅하는 것을 어떻게 권장하시나요?

고쳐 쓰다:

실제 원인을 찾을 수 있는 방법을 제공한 @meuh에게 감사드립니다. (질문을 게시하기 전에도) 제가 알아낸 것처럼 이렇게 하면 bind -f /home/foo/bin/.inputrc터미널이 완전히 잠기고 "^C"로만 응답합니다 reset. 그것을 입력하고 Enter 키를 눌러도 문제가 해결되지 않지만 내 두 줄 버전에서는 문제가 bind -f해결됩니다. 어쩌면 내 오래된 .inputrc 파일(>20년 전)이 새로운 bash에 문제를 일으키고 INPUTRC를 사용하면 ~/.inputrc보다 더 명확하게 문제가 발생할 수 있습니다.

시행착오를 거쳐 다음과 같이 문제의 원인을 찾아냈습니다.

$ cat .inputrc.nok
set editing-mode emacs
set horizontal-scroll-mode Off
set keymap emacs-meta
set echo-control-characters off
set completion-ignore-case on

그러다가, 즉시,

  • bind -f .inputrc.nok터미널 세션을 잠그고
  • 그것을 가리키는 것은 INPUTRC아무런 효과가 없습니다.
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu Jammy Jellyfish (development branch)
Release:  22.04
Codename: jammy

$ apt-cache policy bash
bash:
  Installed: 5.1-6ubuntu1
  Candidate: 5.1-6ubuntu1
  Version table:
 *** 5.1-6ubuntu1 500
        500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
        100 /var/lib/dpkg/status

업데이트 2:

실제로 이것은 Ubuntu Jammy의 문제만이 아니라 Ubuntu 18.04.1로 돌아가서 정확히 동일한 동작을 발견했습니다. 그러나 @Kusalananda는 모든 것이 괜찮으므로 Ubuntu를 사용하는 사람이 있다면 시도해 보십시오. 감사해요.

관련 정보