"별칭"이 정의된 파일을 찾는 방법은 무엇입니까?

"별칭"이 정의된 파일을 찾는 방법은 무엇입니까?

명령 을 실행하면 alias별칭이 표시되지만 그것이 정의된 위치를 알 수 없습니다(즉, 별칭 정의가 포함된 파일을 찾을 수 없습니다). /etc/profile,,,,, 및 기타 몇 가지를 확인했지만 ~/.bashrc아무 소용이 없습니다.~/.profile~/.bash_profile~/.bash_login/etc/bash.bashrc

alias명령이 정보를 가져오는 파일을 알아내는 방법이 있습니까 ? 이 명령은 어떻게 alias작동하나요? 별칭 정의를 찾기 위해 미리 결정된 파일을 읽습니까?

답변1

~을 따라Stéphane의 비슷한 답변, 이는 추적 모드(단일 명령 실행)에서 대화형 bash 셸을 실행하는 방법으로, sum 명령만 표시하는 grep으로 파이프됩니다. exit관심 있는 명령 바로 옆에는 별칭이 지정된 명령이 포함된 파일이 있어야 합니다.sourcealiassourcealias

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'

관련 정보