나는 가지고있다 .bash_aliases
:
alias c1='cd /home/me/code/php'
alias c2='cd /home/me/code/jquery'
alias c3='cd /home/me/code/ruby'
alias c4='cd /home/me/code/c'
내가 어떻게 할 수있는마른전체 디렉토리 구조에 대한 연결을 느슨하게 할 수 있도록 하시겠습니까?
나는 시도했다:
alias code_base='/home/me/code/'
alias c1='cd code_base/php'
alias c2='cd code_base/jquery'
alias c3='cd code_base/ruby'
alias c4='cd code_base/c'
c1
하지만 through를 사용하려고 하면 "is adirectory"라는 오류가 발생합니다 c4
.
나는 또한 다음을 시도했습니다.
alias c1='cd `code_base`/php'
그러나 그것은 작동하지 않았습니다.
bash: cd: /php: 해당 파일이나 디렉터리가 없습니다.
alias c1='cd '+
작업을 시도했지만 +'/php'
디렉토리 오류도 발생했습니다.
답변1
대신 변수를 사용하여 기본 디렉터리를 정의하세요.
CODE_BASE="/home/me/code/"
alias c1="cd $CODE_BASE/php"
alias c2="cd $CODE_BASE/jquery"
alias c3="cd $CODE_BASE/ruby"
alias c4="cd $CODE_BASE/c"
답변2
mgorven의 답변 외에도 이 CDPATH
변수를 사용할 수 있습니다. ~에서남자 난교:
CDPATH The search path for the cd command. This is a colon-separated
list of directories in which the shell looks for destination
directories specified by the cd command. A sample value is
".:~:/usr".
으로 설정한 경우 CDPATH=.:$HOME/code/
실행하여 cd php
디렉터리를 다음으로 변경합니다 $HOME/code/php
(디렉토리가 존재하는 경우).
또 다른 해결책은 다음과 같은 해시 디렉터리를 사용하는 경우입니다 zsh
.
hash -d code_base=/home/me/code/
cd ~code_base/directory
나중에 특정 디렉터리로 변경을 사용할 수 있습니다 .