CDPATH에 공백이 있는 bash 디렉터리 이름

CDPATH에 공백이 있는 bash 디렉터리 이름

너무 긴 디렉터리 이름을 자주 입력하지 않아도 되도록 바로가기를 설정하려고 합니다. 에서는 ~/.bash_profile다음과 유사한 작업을 수행합니다.

export CDPATH=".:~:/This/Is/A/Really/Long/Path/That/Ends/With/My Name"

이 변수를 설정하려고 할 때 디렉터리 이름의 공백을 어떻게 이스케이프/보존합니까?

나는 다양한 솔루션을 시도했습니다 (작은 따옴표 대 큰 따옴표 사용, 백 슬래시로 이스케이프 처리 (시도했습니다 'My\\\ Name'), 따옴표 없음 및 해당 옵션의 조합).

그라시아스.

답변1

export CDPATH=".:~:/This/Is/A/Really/Long/Path/That/Ends/With/My Name"

괜찮을거야

난 노력 했어

cd /tmp/
mkdir "aaa bbb"
mkdir "aaa bbb/a" "aaa bbb/b"
export CDPATH="/tmp/aaa bbb"

그리고

cd a

잘 작동해요

또한 디렉토리를 더 빠르게 변경하려면 별칭을 만들 수 있습니다.

alias longpath="cd '/This/Is/A/Really/Long/Path/That/Ends/With/My Name'"

하지만 해당 디렉토리에 복사하는 문제는 해결되지 않습니다.

cp longpath

작동하지 않습니다.

어쩌면 제대로 작동하지 않을 수도 있으므로 bash-completion을 설치하고 활성화해야 합니다. 이는 _cd 함수를 정의하고 이를 cd 명령의 완성자로 설정합니다. 이는 기본 완성을 무시하고 $CDPATH를 포함합니다.

관련 정보