Mac OSX 터미널에서 별칭 디렉토리로 이동하려면 어떻게해야합니까?
"cd"명령을 사용하여 쉘에서 별칭 디렉토리로 이동할 수있는 방법이 있습니까? 항상 "htdocs"가 디렉토리가 아니라는 것을 반환합니다.
편집 : OS GUI로 바로 가기를 만들었습니다-> htdocs 디렉토리를 마우스 오른쪽 버튼으로 클릭하고 "Alias ..."를 선택했습니다 (별칭이 아닌 경우 독일어 OS를 사용하고 있는데 영어로 바로 가기라고 할 수 있습니까?). 홈 디렉토리 (내 터미널을 열면 거기에서 시작되기 때문에).
내가 원하는 것은 터미널을 열고 "cd htdocs"를 입력하여 거기에서 작업하는 것입니다.
심볼릭 링크 를 만들 수 있습니다 .
ln -s SOURCE TARGET
예 :
ln -s ~/Documents/books ~/Desktop/
참고
Mac OS X 터미널에서 별칭을 통해 디렉토리에 들어가십시오.
내가 원하는 것은 터미널을 열고
cd htdocs
거기에서 작업 할 수 있도록 입력 하는 것입니다.
더 쉬운 방법은 링크를 무시하고 당신의 부모 디렉토리 추가 아마도 htdocs
받는 디렉토리를 CDPATH
환경 변수. 나열된 디렉토리 중 하나 에서 디렉토리 를 찾기 위해 입력 할 때 환경 변수 bash(1)
의 내용을 확인합니다 . 이것은 현재 작업 디렉토리가 무엇이든 상관없이 작동하며 심볼릭 링크를 설정하는 것보다 쉽습니다.CDPATH
cd foo
foo
당신의 경로가있는 경우 htdocs
위치 /srv/www/htdocs/
, 당신은 사용할 수 있습니다 CDPATH=/srv/www
. 그런 다음 cd foo
먼저 /srv/www/foo/
존재하는 경우 찾아 변경합니다. 그렇지 않은 경우 foo
현재 작업 디렉토리에서 찾고 있는 경우 변경합니다. ( htdocs
시스템에 여러 디렉토리 가있는 경우 혼동 될 수 있습니다 .이 경우 CDPATH=.:/srv/www
하위 디렉토리로 쉽게 변경할 수 있지만 디렉토리가 /srv/www/htdocs/
없는 경우에도 버전을 계속 사용할 수 있습니다 ./htdocs
.)
터미널을 시작할 때마다 작동하도록 파일에 CDPATH=/srv/www
줄을 추가 할 수 있습니다 ~/.bashrc
.
저는 개인적으로 이것을 사용하여 Mac의 볼륨 중 하나 깊숙한 곳에있는 디렉토리에서 빠르게 작업합니다.
을 열고 다음 ~/.bash_profile
을 추가하여 디렉토리에 별칭을 만듭니다.
alias cdh="cd /Volumes/Haiku/haiku/src/apps/superprefs"
저장하고 터미널을 다시 시작하십시오. 이제 cdh
터미널 에 입력 할 때 작업 디렉토리를 별칭으로 언급 된 디렉토리로 변경해야합니다.
OSX가 Alias 링크를 어떻게 노출하는지 잘 모르겠지만 bash를 사용하고 있기 때문에 .bashrc
파일에 변수를 만들 수 있습니다.
자체 라인에 다음을 입력하십시오.
htdocs=YourDirectoryPath/
bash를 다시 시작하면 다음을 입력하면됩니다. cd $htdocs
macworld에 BASH와 통합 된 방식으로이를 수행하는 오래된 힌트가 있습니다. 터미널에서 디렉토리 별칭으로 'cd'를 활성화합니다.
또한 다음은 superuser에서이 솔루션을 사용하는 답변입니다 .
osascript를 사용하여이 작업을 수행 할 수 있습니다.이 명령은 작동하는 것 같습니다.
cd "`osascript -e"on run aFile "-e"set aFile to POSIX file aFile as alias "-e"tell application "\" "Finder"\ ""to return POSIX path of ((original item of aFile) as text) "-e"end run "path_to_my_Finder_alias 2> / dev / null`"
기본적으로이 명령은 서브 쉘에서 인수의 대상 경로 (path_to_my_Finder_alias)를 찾은 다음 큰 따옴표로 묶고 디렉토리를 변경하는 AppleScript를 실행합니다.
bash 전문 지식이 조금 더있는 사람이이를 bash 별칭 또는 함수로 바꿀 수 있습니다.
시험:
alias cdgo=`echo cd /root/go/`
cdgo가 실행 된 다음 "cd / root / go /"명령을 받고 입력하면 현재 터미널 프로세스에서 디렉토리가 변경됩니다.
내 centos에서 작동하고 osx로는 테스트하지 않습니다.
'programing' 카테고리의 다른 글
현재 WCF 호출에 대한 데이터를 어디에 저장할까요? (0) | 2021.01.15 |
---|---|
stringstream 복사가 허용되지 않는 이유는 무엇입니까? (0) | 2021.01.15 |
개발 브랜치에서 git pull origin master를 수행하면 어떻게 되나요? (0) | 2021.01.15 |
Jodatime의 DateTime에 대해 날짜 시간대를 UTC로 기본 설정 (0) | 2021.01.15 |
이미지 리소스로드 중 (0) | 2021.01.15 |