
Windows에서 bash 터미널(git-bash)을 실행하고 실행할 때마다 alias
다음 별칭을 얻습니다.
$ alias
alias ll='ls -l'
alias ls='ls -F --color=auto --show-control-chars'
alias ltsc='$(npm bin)/tsc'
alias lwbc='$(npm bin)/webpack'
alias node='winpty node.exe'
내 것에는 .bashrc
다음만 있습니다:
alias lwbc="\$(npm bin)/webpack"
alias ltsc="\$(npm bin)/tsc"
내 것에는 .bash_profile
다음이 있습니다.
test -f ~/.profile && . ~/.profile
test -f ~/.bashrc && . ~/.bashrc
.profile
파일이 없습니다 .
그러면 이것들은 어디서 오는가?
alias ll='ls -l'
alias ls='ls -F --color=auto --show-control-chars'
alias node='winpty node.exe'
고쳐 쓰다:
이러한 별칭이 에서 온다는 것을 알았습니다 /etc/profile.d/aliases.sh
. 이제 이 파일이 어디에서 트리거되는지 어떻게 알 수 있습니까?
답변1
다음은 bash 문서에서 발췌한 내용입니다.
bash가 이 옵션을 사용하여 대화형 로그인 셸이나 비대화형 셸로 호출되면
--login
먼저 파일/etc/profile
(파일이 존재하는 경우)에서 명령을 읽고 실행합니다. 파일을 읽은 후~/.bash_profile
,~/.bash_login
, 를 순서대로 찾아 존재~/.profile
하고 읽을 수 있는 첫 번째 파일부터 명령을 읽고 실행합니다.--noprofile
이 옵션을 사용하면 쉘이 시작될 때 이 동작을 비활성화할 수 있습니다.
홈 디렉토리의 내용을 확인했으므로 질문에 대한 답변은 파일에 있을 가능성이 높습니다 .bashrc
. 일부 배포판에서는 별칭을 포함하여 모든 사용자에 대해 기본값을 설정합니다. 그렇지 않은 경우 이 구성은 위의 발췌문에 언급된 다른 파일 중 하나에 있을 수 있습니다..bash_profile
/etc/profile
답변2
시작 시 실행되는 명령의 추적을 인쇄하도록 bash에 요청합니다.
bash -x
추적에는 실행된 명령만 표시되며 해당 명령이 어떤 파일에서 왔는지는 표시되지 않습니다. 그러나 그것들은 bash가 읽고 있는 파일에서 나와야 합니다. 먼저 /etc/bash.bashrc
(시스템에서 활성화된 경우), ~/.bashrc
명령에서 나오 .
거나 source
사용된 경우 추적에 나타나는 다른 파일에서 가져와야 합니다.
일반을 실행할 때 별칭이 나타나지 bash
않으면로그인 쉘, 잘못된 위치에 정의되어 있으므로 ~/.bashrc
현재 로드된 위치를 조사하려면 추적이 활성화된 bash의 로그인 인스턴스를 실행하세요.bash -l -x
답변3
저는 SUSE를 사용하며 이 배포판의 경우 이러한 별칭은 에 있습니다 /etc/bash.bashrc
. csh 또는 tcsh를 사용하는 경우 /etc/csh.cshrc
이는 Linux 배포판에만 해당되므로 수정하지 않는 것이 좋습니다. 대신 관리자 권한으로 만들고 편집 /etc/bash.bashrc.local
하면 파일 하단에서 /etc/bash.bashrc
작업을 수행 test -s /etc/bash.bashrc.local
하고 파일이 있으면 실행되는 것을 확인할 수 있습니다.
나도 그 ls
별칭을 싫어합니다. 나는 alias ls='ls $LS_OPTIONS'
수년 동안 댓글을 달았습니다 /etc/bash.bashrc
. 시스템을 패치하고 커널 업데이트를 수행하면 이 /etc/bash.bashrc
파일이 덮어쓰여질 수 있으므로 돌아가서 다시 편집해야 합니다.
사용하고 있다고 언급하셨습니다.Windows의 bash 터미널(git-bash)/etc/bash.bashrc
그래서 그것이 당신에게 특별히 적합한 지 모르겠습니다 .