답변:
당신은 사용할 수 있습니다 Tab당신이 유형은 예이 다음 폴더의 나머지 부분 "에 기입"것이다 (처음 몇 글자를 누른 후 키를 cd ~/L
Tab채우고 cd ~/Library/
다음을 입력 Ap
Tab하고 당신을 위해 나머지를 입력합니다.
단어 사이에 공백이 있고 위의 방법을 사용하지 않으려면 \
공백 앞에 (백 슬래시)를 넣으십시오 (예 :) cd ~/Library/Application\ Support
.
shopt -s nocaseglob
및 bind 'set completion-ignore-case on'
만들기 위해 bash는이 경우에 덜 민감.
여기서 핵심 문제는 쉘 ( bash )이 인용하는 방식과 이것이 틸드 확장에 영향을 미치고 "단어"(프로그램 실행에 대한 인수)로 분할하는 방법에 있습니다.
bash 는 인용 된 틸드를 인용하지 않은 경우에만 처리합니다. 또한 다음 슬래시도 인용해서는 안됩니다.
동시에 bash 는 인용되지 않은 공백을 기준으로 명령 행을 "단어"로 구문 분석합니다. 이 cd
명령에는 일반적으로 정확히 하나의 인수 (대상 디렉토리)가 필요합니다. 같은 명령 줄 cd foo bar
수단을 실행하는 cd
두 개의 인수 : foo
와 bar
. 단일 foo bar
인수 만 보내 려면 공백을 인용해야합니다
(예 : cd foo\ bar
아래 인용 예제 참조).
특정 상황에서는 디렉토리 이름에 공백을 인용하면서 물결표와 다음 슬래시를 인용 부호로 남겨 두어야합니다. 당신의 cd "~/Library/Application Support/"
당신의 동안 재판, (물결표와 슬래시) 너무 많이 인용 끝 cd ~/Library/Application Support/
재판이 (가 디렉토리 이름에 공백을 인용하는 것을 생략) 너무 적게 인용.
가장 일반적인 해결책은 단일 문자 이스케이프를 사용하여 공백 만 인용하는 것입니다.
cd ~/Library/Application\ Support
공백이나 공백 및 해당 인수의 일부 다른 비트 주위에 작은 따옴표 나 큰 따옴표를 사용할 수도 있습니다 ( ~/
!는 제외).
cd ~/Library/Application' 'Support
cd ~/Library/Application" "Support
cd ~/Library/App'lication 'Support
cd ~/Library/Application" Supp"ort
cd ~/'Library/Application 'Support
cd ~/"Library/Application "Support
이러한 종류의 따옴표는 다른 의미를 갖지만이 예에서는 동일합니다. 작은 따옴표는 리터럴 문자열을 보호하고 큰 따옴표는 인용 된 영역에서 다양한 확장 및 대체를 허용합니다.
종종 쉘이 작업을 수행하도록 할 수 있습니다.
글 로빙 (와일드 카드) :
cd ~/L*/Ap*
shopt -s nocaseglob
대소 문자를 구분하지 않는 데 사용할 수 있습니다 .
cd ~/l*/ap*
완성:
Tab입력 한 후를 누르면 cd ~/L
확장 할 수 cd ~/Library/
있습니다. 입력 한 후 (이제 ) 다시
누르면 셸이 자동으로 이스케이프 백 슬래시를 삽입합니다.TabAp
cd ~/Library/Ap
cd ~/Library/Application\ Support/
bind 'set completion-ignore-case on'
대소 문자를 구분하지 않으려면 다음을 사용하십시오 .
cd ~/l
Tab→ cd ~/Library/
; ap
Tab→cd ~/Library/Application\ Support/
파일 또는 폴더 이름에 1) file name.extension이 포함 된 경우 간격이있는 폴더 / 파일에 대해이 작업을 시도 할 수 있습니다. 명령은 cd ~ / file \ name.extension / (또는) cd ~ / "file name.extension"/이어야합니다.