cd base/x 명령 디렉토리를 참조하고 활성화하기 위해 다른 별칭에 대한 "기본"을 어떻게 생성합니까?

cd base/x 명령 디렉토리를 참조하고 활성화하기 위해 다른 별칭에 대한 "기본"을 어떻게 생성합니까?

나는 가지고있다 .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나중에 특정 디렉터리로 변경을 사용할 수 있습니다 .

관련 정보