을 입력하면 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
디렉터리에 추가합니다 . 이 방법을 사용하면 ( 대신 ) 을 입력하거나 별칭을 사용하여 디렉토리를 변경할 수 있습니다 .~/.bashrc
cd
~/Desktop
~/Desktop
cd ~/Desktop
desktop
또는 유효한 명령에 대한 별칭을 정의합니다.
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
명령 의 환경 변수에 추가할 수 있습니다.CDPATH
cd
하지만 다음을 사용하는 것이 좋습니다.
cd ~/Desktop
틸다가 다치면 안 됐어요! :디
$HOME
다음과 같이 tilda를 사용하여 시스템에 있는 여러 사용자의 디렉터리 로 전환할 수도 있습니다 .
cd ~root
ls ~ftp
echo ~nobody
답변3
icarus가 의견에서 제안한 것처럼 간단한 방법은 별칭을 만드는 것입니다.cd ~/Desktop
그러나 정말로 이 작업을 수행하려면 디렉터리가 다음과 같은지 확인하는 cd
함수에 별칭을 지정할 수 있습니다 .cd
Desktop
_cd () {
if [ "$1" == "Desktop" ]; then
cd ~/Desktop
else
cd $1
fi
}
alias cd="_cd"
그러나 이로 인해 탭 완성이 cd
중단 될 수도 있습니다.