alias
구체적인 내용이 어디에서 선언되었는지 찾으려고 합니다 . 별칭을 찾기 위해 제가 아는 일반적인 장소를 모두 검색했습니다.
- ~/.bashrc
- ~/.bash_profile
- /etc/bashrc
- /etc/구성 파일
불운.
alias
나는 이 일을 하면 다음과 같은 결과를 얻게 되기 때문에 이것을 알고 있습니다 which COMMAND
.
alias COMMAND='/path/to/command'
/path/to/command
alias
이름 으로만 알려진 파일 선언을 찾는 방법이 있습니까 alias
?
답변1
/etc/profile.d/
위반사항이 있는지 조사하겠습니다 alias
.
다음을 수행하여 찾을 수도 있습니다.
grep -r '^alias COMMAND' /etc
그러면 grep
파일에서 로 시작하는 줄을 반복적으로 찾습니다 alias COMMAND
.
모두 실패하면 맨 마지막에 넣으세요~/.bashrc
unalias COMMAND
답변2
시도해 볼 수 있는 몇 가지 작업은 다음과 같습니다.
bash -v
쉘 시작 중에 어떤 라인을 읽고 있는지 확인하는 데 사용됩니다.bash -x
쉘 시작 중에 어떤 명령이 실행되고 있는지 확인 하는 데 사용됩니다 .- 하나의 시작 파일로만 실행
bash-v
이 -v
옵션을 사용하면 bash
읽는 모든 스크립트 파일의 모든 행이 인쇄됩니다.
달리기부터 시작해
bash -i -v >bash-i.out 2>&1
5~10초 정도 기다린 후 를 누르세요 Ctrl+C.
bash-i.out
그러면 모든 시작 파일이 함께 병합(또는 연결)된 것과 같은 이름의 파일이 제공됩니다 .
그런 다음 를 less
사용하여 파일을 열고 를 사용하여 별칭을 검색합니다 /aliasname
.
이제 파일의 다른 줄과 관련하여 이 별칭이 나타나는 위치를 비교해 보세요. 예를 들어, 대부분의 시스템에는 /etc/bash.bashrc
상단 /etc/bash.bashrc
에 ~/.bashrc
.
상단 위에 있으면 ~/.bashrc
별칭을 정의하는 시작 파일일 가능성이 높습니다. 그렇지 않으면 파일에 있거나 또는 (점 명령)을 통해 포함된 파일에 있습니다./etc
~/.bashrc
source
.
별칭이 표시되지 않으면 시도해 보세요.
bash -l -v >bash-l.out 2>&1
이는 bash가 로그인 쉘이 되어 and 대신 and /etc/profile
와 같은 다른 시작 파일을 읽도록 지시합니다 .~/.bash_profile
/etc/bash.bashrc
~/.bashrc
배쉬-x
bash -v
이것이 명확한 답을 주지 못한다면, 쉘이 읽고 있는 줄이 아니라 쉘이 실행 중인 명령을 인쇄하는 running 을 시도해 보세요 bash -x
.
방법은 기본적으로 위와 동일하며 -v
로 변경하였습니다 -x
. (필요하다면 두 가지를 동시에 사용해도 됩니다.)
하나의 시작 파일로만 실행
bash -i --rcfile="$HOME/.bashrc"
별칭이 있는지 확인하세요.
시스템에 이 기능이 있는 경우 rcfile
다음으로 설정하여 동일한 작업을 수행해 보세요./etc/bash.bashrc
그럼 시도해봐
bash -l --rcfile="$HOME/.bash_profile"
profile
그리고 이름에 포함된 모든 bash 시작 파일에 대해 동일한 작업을 수행 $HOME/.bash_profile
합니다 /etc/profile
.
어느 쪽이든 별칭을 표시하면 어떤 파일을 살펴봐야 할지 알 수 있습니다.
답변3
어쩌면 당신 것일까 .xinitrc
요? 또한 귀하 의 파일 .bashrc
이나 소스 .bash_profile
의 다른 파일이 있는지 확인해야 합니다. 예를 들어, 다음 명령에서 참조하는 별도의 파일에 모든 별칭을 저장합니다.
[ -f ~/.bash_alias ] && source $HOME/.bash_alias
도움이 될 수 있는 몇 가지 질문: 일반 사용자를 위한 것입니까, 아니면 루트를 위한 것입니까? 어떤 순서인가요? 리눅스는 어떤 스타일인가요?
답변4
나는 별칭 정의를 넣는 매우 일반적인 관행을 따랐습니다.
~/.bash_aliases
그런 다음 .bashrc에서 호출하세요.
[ -f ~/.bash_aliases ] && source $HOME/.bash_aliases