Bash/zsh 별칭을 어떻게 관리합니까?

Bash/zsh 별칭을 어떻게 관리합니까?

Bash/zsh 별칭을 어떻게 관리합니까?

"별칭 고려 -> .zshrc-sourced-file 열기 -> 편집 -> 닫기, .zshrc 다시 로드 -> 별칭 사용"을 줄여 이를 더 쉽게 만드는 도구가 있습니까?

답변1

더 이상 별칭을 추가하거나 편집하는 일이 거의 없지만 여전히 별칭을 보유하고 가끔 사용합니다.

alias savealiases='alias > ~/.bash-aliases'

loadaliases또한 하나의 셸(터미널 창 또는 탭, tmux 창, ssh 세션 등)에서 별칭을 생성하거나 변경하고 이를 실행 중인 다른 셸에 쉽게 로드할 수 있도록 이 기능이 있습니다 .

alias loadaliases='source ~/.bash-aliases'

로그인하거나 새 셸을 시작할 때 내 별칭이 로드되도록 하려면 다음을 포함합니다 ~/.bashrc.

[ -e ~/.bash-aliases ] && . ~/.bash-aliases

매우 독창적이지만 20년 넘게 나에게는 충분했습니다. 별칭을 멋지게 편집해야 하는 경우 vi를 사용할 수 있습니다.

답변2

bash 및 zsh 이상의 것에 관심이 있다면 1980년에 UNOS 명령 해석기를 사용하여 도입된 완전히 다른 접근 방식에 관심이 있을 수 있습니다. 명령 해석기는 파일에 저장된 영구 별칭을 구현합니다.$HOME/.globals

이 방법은 이제 최신 Bourne Shell 버전의 Schily-Tools에서 얻을 수 있는 bsh에서 사용할 수 있습니다.

최근 Bourne Shell 매뉴얼 페이지를 확인하십시오:

http://schillix.sourceforge.net/man/man1/bosh.1.html

Korn Shell 구문의 복잡한 별칭은 정확한 인용으로 입력하기 어려운 반면, Bourne Shell은 소위 aliashash 명령을 구현하여 모드에서 별칭 입력을 허용하기 때문에 이 접근 방식을 언급합니다.

참고: 영구 별칭을 지원하지 않는 다른 쉘의 별칭을 저장하는 올바른 방법은 다음과 같습니다.

alias -p > file

ksh93을 사용하여 호출 하면 alias다음과 같은 출력이 표시됩니다.

autoload='typeset -fu' command='command ' compound='typeset -C'

하지만 에 전화하면 alias -p다음을 얻게 됩니다.

alias autoload='typeset -fu' alias command='command ' alias compound='typeset -C'

보시다시피, alias -p반환된 내용은 나중에 다음을 호출하여 셸 입력으로 다시 사용할 수 있기 때문에 필요합니다.

. file

편집: alias -pPOSIX는 아니지만 bash 이외의 쉘은 기본적으로 구문 분석 가능한 출력을 생성하지 않는 것 같습니다. 일부 쉘은 구문 분석 가능한 출력을 생성하지 않습니다!

-p출력해야 하는 쉘은 parsable다음과 같습니다.

  • 본 쉘
  • ksh93(ksh88은 구문 분석 가능한 출력이나 -p를 지원하지 않음)

배쉬 허용 -p...

그런데:스프린트구문 분석 가능한 출력은 전혀 지원되지 않으며 -p도 지원되지 않습니다. 다루기 힘든alias -pvia 와 동등한 기능을 구현합니다 alias -L.

관련 정보