변수에 저장된 경로를 입력할 때 $ 문자를 생략하는 방법은 무엇입니까?

변수에 저장된 경로를 입력할 때 $ 문자를 생략하는 방법은 무엇입니까?

제가 자주 사용하는 디렉토리가 있습니다. 가정은 다음과 같습니다.

/etc/insserv.conf.d/testname

내 변수를 설정했습니다 /root/.bashrc.

mydir=/etc/insserv.conf.d/testname  

이제 이 명령을 사용하여 이 디렉터리를 열 수 있습니다.

cd $mydir

하지만 저는 이 캐릭터를 별로 좋아하지 않습니다 $. 이를 달성하기 위한 해결 방법이 있습니까? 내 말은: 을 통해 이 디렉토리를 열고 싶습니다 cd mydir. 괜찮습니까 Ubuntu 16.04?

답변1

당신은 옵션을 찾고 있습니다 cdable_vars. shopt -s cdable_varsbash를 사용하는 경우( setopt cdablevarszsh인 경우) 이를 실행하여 활성화하세요. 그 후에 cd mydir는 쉽습니다.

노트cd mydir동일한 이름을 가진 파일이나 디렉터리가 포함된 디렉터리에서 작업을 수행하려고 하면 쉘은 변수를 확장하는 대신 현재 디렉터리의 파일이나 디렉터리 개체를 사용하려고 시도합니다.

답변2

어때요?

mydir

변수를 정의하고 이미 수행한 것처럼 함수를 생성하기만 하면 됩니다.

mydir=/etc/insserv.conf.d/testname
mydir(){ cd "$mydir"; }

완벽한.

또 다른 방법은 별칭을 사용하는 것입니다.

alias mydir='cd "$mydir"'

답변3

전역 별칭을 사용해야 합니다. bash는 이를 지원하지 않는 것 같지만 zsh에서는 잘 작동합니다.

데모

<code>% alias -g asd="bsd"; echo asd </code> -> <code>bsd</code>

설치하다

$ sudo apt install zsh

나와 같은 모습을 가지려면

  • Oh My Zsh를 설치합니다:

    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
    
  • 무시하려면 테마를 바꾸십시오.

    sed 's/^ZSH_THEME=".*"$/ZSH_THEME="agnoster"/' -i .zshrc
    
  • 그리고 Agnoster가 작동하도록 하려면 Powerline 글꼴을 설치하십시오.

    curl https://pastebin.com/raw/nD4DTpuF | bash
    
  • 구문 강조 플러그인을 설치합니다:

    • 다운로드

      git clone git://github.com/zsh-users/zsh-syntax-highlighting.git .oh-my-zsh/custom/plugins/zsh-syntax-highlighting
      
    • 그리고 적용하세요:

      sed 's/^plugins=\((.*)\)$/plugins=(\1 zsh-syntax-highlighting)'
      
    • 마지막으로 구성 설정을 다시 로드합니다.

      source .zshrc
      

죄송합니다. 이 튜토리얼은 너무 길지만, 재미있게 즐기시기 바랍니다.

관련 정보