명령 을 실행하면 alias
별칭이 표시되지만 그것이 정의된 위치를 알 수 없습니다(즉, 별칭 정의가 포함된 파일을 찾을 수 없습니다). /etc/profile
,,,,, 및 기타 몇 가지를 확인했지만 ~/.bashrc
아무 소용이 없습니다.~/.profile
~/.bash_profile
~/.bash_login
/etc/bash.bashrc
alias
명령이 정보를 가져오는 파일을 알아내는 방법이 있습니까 ? 이 명령은 어떻게 alias
작동하나요? 별칭 정의를 찾기 위해 미리 결정된 파일을 읽습니까?
답변1
~을 따라Stéphane의 비슷한 답변, 이는 추적 모드(단일 명령 실행)에서 대화형 bash 셸을 실행하는 방법으로, sum 명령만 표시하는 grep으로 파이프됩니다. exit
관심 있는 명령 바로 옆에는 별칭이 지정된 명령이 포함된 파일이 있어야 합니다.source
alias
source
alias
bash -ix -c exit 2>&1 | grep -E 'source | \. |alias '
계측 실행:
$ tail -1 ~/.bashrc
[ -f /tmp/a.bashrc ] && source /tmp/a.bashrc
$ cat /tmp/a.bashrc
[ -f /tmp/b.bashrc ] && . /tmp/b.bashrc
$ cat /tmp/b.bashrc
alias answer='echo 42'
$ bash -ix -c exit 2>&1 | grep -E 'source | \. |alias '
+ alias 'ls=ls --color=auto'
+ source /tmp/a.bashrc
++ . /tmp/b.bashrc
+++ alias 'answer=echo 42'