디렉터리 변수 확장 방지

디렉터리 변수 확장 방지

tmux내 기본 bash 동작을 재정의하는 것 같습니다. 가정 export someDir=/path/to/it하면 내 껍질에

  1. Tab 키를 누르면 cd $someDir슬래시(.)가 자동으로 추가됩니다 cd $someDir/. tmux아무것도 하지 않고 인쇄합니다 $someDir(축어적으로).
  2. 탭을 클릭하면 cd $someDir/내용이 나열됩니다. tmux그것에 변수를 확장합니다 . 다른 두 탭에만 콘텐츠가 표시됩니다.

둘 다 Bash를 실행하고 있는지 다시 확인했으며 관련성이 있는 경우 내 구성은 다음과 같습니다.

set -g status-style bg=black
set -g status-style fg=red
set-window-option -g xterm-keys on
set -g terminal-overrides 'xterm*:smcup@:rmcup@'

원래 동작을 어떻게 재현할 수 있나요?

추가 정보

tmux@Kusalananda의 의견으로 인해 이것이 내 완료 설정보다 우선할 수 있다고 생각했습니다 . complete일반 쉘을 클릭하면 2개의 git 래퍼만 나열됩니다. tmux많이 보여줍니다.

답변1

나는 tmux를 사용하지 않지만 오랫동안 주석 처리해 왔던 bash의 "프로그래밍 가능 완성"을 다시 활성화하고 있다는 사실을 발견했습니다. /etc/bash.bashrc따라서 귀하가 관찰한 당황스러운 동작입니다.

이는 tmux가 bash를 로그인 셸로 실행( argv[0]으로 설정 )하여 먼저 가져오고 그 다음에 는 을 가져오기 때문입니다 .-bash/etc/profile/etc/profile.d/bash_completion.sh

여전히 많은 옵션이 있습니다:

.bash_profilea) 로그인 쉘과 비로그인 쉘에서 원하는대로 완료 동작을 편집하고 만듭니다..bashrc

b) tmux가 로그인 쉘을 실행하지 않도록 설득하십시오. 통과

set -g default-command "/bin/bash"

존재하다.tmux.conf

관련 정보