데스크톱 디렉터리에 대한 별칭 만들기

데스크톱 디렉터리에 대한 별칭 만들기

을 입력하면 cd Desktop현재 터미널이 열려 있는 폴더에 관계없이 다음으로 이동하고 싶습니다./home/bob-ubuntu/Desktop

.bashrc파일의 맨 아래에 다음 줄이 있습니다.

alias desktop='/home/bob-ubuntu/Desktop'

alias Desktop='/home/bob-ubuntu/Desktop'

그런 다음 그것을 얻었지만 입력하면 cd Desktop여전히 cd desktop같은 오류가 발생합니까?

답변1

alias desktop='/home/bob-ubuntu/Desktop'
cd desktop

별칭은 명령 이름입니다. 명령에 대한 인수는 cd명령 이름이 아닙니다. 이 컨텍스트에서는 별칭이 사용되지 않습니다.

을 입력하면 desktop별칭이 호출됩니다. 하지만 기본적으로 오류가 발생합니다.

bash: /home/bob-ubuntu/Desktop: Is a directory

명령 위치에 디렉터리 이름을 입력하여 실행할 줄을 shopt -s autocd디렉터리에 추가합니다 . 이 방법을 사용하면 ( 대신 ) 을 입력하거나 별칭을 사용하여 디렉토리를 변경할 수 있습니다 .~/.bashrccd~/Desktop~/Desktopcd ~/Desktopdesktop

또는 유효한 명령에 대한 별칭을 정의합니다.

alias desktop='cd /home/bob-ubuntu/Desktop'

답변2

여러 가지 방법이 있습니다:

  • 변수를 생성 $desktop하거나 $D바로가기 역할을 할 수 있습니다.
  • 당신은 할 수alias desktop='cd /home/bob-ubuntu/Desktop'
  • 당신은 그것을 사용할 수 있습니다$USER/Desktop
  • $XDG_DESKTOP_DIR다음과 같은 경우에 사용할 수 있습니다 .XDG사용자 디렉토리가 설정되었습니다.
  • /home/bob-ubuntu명령 의 환경 변수에 추가할 수 있습니다.CDPATHcd

하지만 다음을 사용하는 것이 좋습니다.

cd ~/Desktop

틸다가 다치면 안 됐어요! :디

$HOME다음과 같이 tilda를 사용하여 시스템에 있는 여러 사용자의 디렉터리 로 전환할 수도 있습니다 .

cd ~root
ls ~ftp
echo ~nobody

답변3

icarus가 의견에서 제안한 것처럼 간단한 방법은 별칭을 만드는 것입니다.cd ~/Desktop

그러나 정말로 이 작업을 수행하려면 디렉터리가 다음과 같은지 확인하는 cd함수에 별칭을 지정할 수 있습니다 .cdDesktop

_cd () {
  if [ "$1" == "Desktop" ]; then
    cd ~/Desktop
  else
    cd $1
  fi
}
alias cd="_cd"

그러나 이로 인해 탭 완성이 cd중단 될 수도 있습니다.

관련 정보