ll
명령을 사용하여 정의된 별칭 alias
.
type ll
인쇄되는 것과 같은 명령을 확인할 수 있습니다
ll is aliased to `ls -l --color=auto'
또는 command -v ll
어떤 인쇄
alias ll='ls -l --color=auto'
아니면 alias ll
인쇄도 하세요
alias ll='ls -l --color=auto'
하지만 찾을 수 없는 것 같아요어디별칭은 파일(예: )로 정의되거나 .bashrc
실행 중인 셸에서 수동으로 정의될 수 있습니다. 현재로서는 이것이 가능한지 확실하지 않습니다.
단순히 로드된 모든 파일을 살펴 bash
보고 각각을 확인해야 합니까?
답변1
셸에 수행 중인 작업을 표시하도록 요청하더라도 수동 정의(아마도 기록 로그)를 찾기가 어려울 수 있으므로 grep
rc 파일에 설정된 항목을 찾는 데 도움이 됩니다.
bash -ixlc : 2>&1 | grep ...
zsh -ixc : 2>&1 | grep ...
쉘이 위 호출 중 하나를 통해 필요한 옵션을 정확하게 캡처하지 못하는 경우(대화식으로 null 명령 실행) 다음을 수행하십시오 script
.
script somethingtogrep thatstrangeshell -x
...
grep ... somethingtogrep
strace
또 다른 옵션은 유사 또는 sysdig
찾기를 사용하는 것입니다.모두셸이 건드린 파일을 수동으로 액세스한 다음 grep
해당 파일에 수동으로 액세스합니다(셸이나 프로그램에 플래그가 없는 경우 편리함 -x
). oh-my-zsh 또는 사이트별 구성 항목이 끌어오는 경우 표준 RC 파일은 수동 파일 이름 확인에 충분하지 않습니다. 어디에 있는지 아는 사람의 코드입니다(또는 Sorontar가 답변에서 지적한 것처럼 환경 변수도 있을 수 있습니다).
답변2
먼저 다음 명령을 사용하십시오
모든 기능 나열
functions
모든 별칭 나열
alias
별칭이나 함수를 찾지 못한 경우 보다 공격적인 검색 방법을 고려하세요.
배쉬 버전
bash -ixlc : 2>&1 | grep thingToSearchHere
Zsh 버전
zsh -ixc : 2>&1 | grep thingToSearchHere
옵션에 대한 간략한 설명
-i Force shell to be interactive.
-c Take the first argument as a command to execute
-x -- equivalent to --xtrace
-l Make bash act as if invoked as a login shell
답변3
이것이 grep -rl
제가 매우 유용하다고 생각하는 것입니다:
이 명령
grep -rl alias ~/.bash* ~/.profile /etc/profile /etc/bash.bashrc
alias
해당 단어가 어떤 파일에 사용되었는지 알려줄 것입니다 .
존재한다면 아마도 그럴 것이고 ~/.bashrc
, 확실히 그럴 것이다 ~/.bash_aliases
.
그러나 이 검색이 모든 옵션을 포함하는지 절대적으로 확신하는 것은 불가능합니다. 이러한 파일은 파일 시스템의 다른 위치에서 파일을 호출하거나 로드할 수도 있습니다. ENV와 같은 환경 변수는 $BASH_ENV
bash에 다른 파일을 로드하도록 지시할 수 있습니다.
환경에서 BASH_ENV 변수를 찾아 변수가 나타나면 그 값을 확장하고 확장된 값을 읽고 실행할 파일 이름으로 사용합니다.
변수를 설정하여 별칭을 정의하는 것도 가능합니다(강조):
BASH_ALIASES
멤버가 내장 별칭에 의해 유지되는 별칭의 내부 목록에 해당하는 연관 배열 변수입니다.이 배열에 추가된 요소는 별칭 목록에 나타납니다.
답변4
별칭의 소스를 실제로 나열하는 방법을 모르지만 bash를 사용하는 것처럼 보이므로 다음이 가능한 소스 파일이라고 생각합니다.
/etc/profile
~/.profile
/etc/bash.bashrc
~/.bash_profile
~/.bashrc
예를 들어 이를 통해 별칭을 찾을 수 있어야 합니다 grep 'ls -l --color=auto' /etc/profile ~/.profile /etc/bash.bashrc ~/.bash_profile ~/.bashrc
.