나는 다음을 수행하기 위해 bash 5.0.17을 사용하고 있습니다.
$ cd /tmp
$ mkdir 'A B'
$ touch 'A B/C.txt'
$ ls A\ B/C<TAB>
ls A\ B/C.txt
마지막 항목을 (상대) 로 자동 완성하고 싶었지만 ls /tmp/A\ B/C.txt
대신 (절대)로 자동 완성됩니다. 상대 경로로 자동 완성되도록 하는 방법이 있나요?
이는 공백을 포함하여 디렉터리 이름을 하드코딩하는 타사 소프트웨어를 사용하기 위한 것이므로 단순히 디렉터리 이름에 공백을 사용할 수 없습니다.
답변1
이 동작은 활성화에서 비롯된 것 같습니다 direxpand
. bashrc에 다음이 있을 수 있습니다.
shopt -s direxpand
해당 줄을 삭제하거나 로 변경해야 합니다 shopt -u direxpand
. 불행하게도 이는 direxpand의 다른 이점을 잃게 됨을 의미합니다(저는 탭 완성을 통해 탈출하는 것을 좋아하지 않기 때문에 개인적으로 활성화합니다 $
).