Bash 탭 완성으로 변수에 공간이 추가됩니다.

Bash 탭 완성으로 변수에 공간이 추가됩니다.

.bashrc에 많은 전역 변수가 정의되어 있습니다.

 export mylogdir=/var/mylogs
 export myappdir=/opt/myapps

$mylogdir을 CD로 저장할 수 있습니다. 그러나 $mylogdir을 입력하면 $mylogdir의 탭 완성 부분에 공백이 추가됩니다.

ls $myl[TAB] -> ls $mylogdir<space>

공간 추가를 위한 옵션이나 프로세스를 중지합니다. 공간은 가끔 원할 때 문제가 된다

cat $mylogdir/<space>logfile1.log

변수 간 ​​전환은 항상 <space>끝에 추가됩니다.

배쉬 버전=4.2.46

답변1

비슷한 문제 발견여기. 전체적으로 :

후행 공백은 compopt를 사용하여 설정된 기본 설정입니다. 다음을 통해 현재 동작을 볼 수 있습니다.

compopt <program>

다음 명령을 실행하여 동작을 변경할 수 있습니다.

compopt +/-o <option> <program>

따라서 ls 변수 자동 완성에서 공백을 제거하려면 다음을 실행할 수 있습니다.

compopt -o nospace ls

영구적으로 유지하려면 다음에 추가할 수 있습니다.~/.bashrc

관련 정보