![데비안 10에서 '별칭'의 전역 사용](https://rvso.com/image/756221/%EB%8D%B0%EB%B9%84%EC%95%88%2010%EC%97%90%EC%84%9C%20'%EB%B3%84%EC%B9%AD'%EC%9D%98%20%EC%A0%84%EC%97%AD%20%EC%82%AC%EC%9A%A9.png)
나는 Debian 10 인스턴스에 별칭의 전역 사용을 추가하려고 시도했지만 운이 없었습니다.
내가 이미 시도한 것은 별칭을 /etc/bash.bashrc에 추가하고 이 조각을 /etc/profile에 추가하여 작동하지 않고 소스를 제공하는 것입니다.
if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi
내 bash.bashrc에서:
#Aliases
alias l='ls -la'
alias ll='ls -l'
alias la='ls -a'
편집하다*
"ls."에 대한 별칭은 어떻게 생성합니까? 예를 들어, ls='ls -CF'입니다. 별칭으로 사용하면 작동하지 않나요?
답변1
데비안은 /etc/bash.bashrc와 함께 작동해야 합니다. /etc/passwd
사용자가 bash 쉘을 사용하고 있는지 확인하십시오 .
user1:x:1000:1000:User 1:/home/user1:/bin/bash
user2:x:1001:1001:User 2:/home/user2:/bin/zsh
기본적으로 useradd 또는 adduser를 사용하여 사용자를 추가하면 bash를 셸로 사용하여 생성되지만 이는 다른 셸로 수정되었을 수 있습니다(zsh는 매우 널리 사용됩니다). 위 샘플에서 user1은 bash 쉘을 사용하고 있고 user2는 zsh를 사용하고 있습니다. User2는 로그인 시 /etc/bash.bashrc를 실행하지 않습니다.
답변2
~/.bashrc
내가 볼 수 있는 것을 보는 것은 ls
이미 로 정의되어 있습니다 alias ls='ls --color=auto'
.
as ls
에 새 별칭 정의를 추가하는 것은 도움이 되지 않습니다. 왜냐하면 의 정의가 재정의되기 때문입니다./etc/bash.bashrc
alias ls='ls -CF'
~/.bashrc
내 테스트에서 전역 정의가 작동하도록 추가한 별칭에 ls
대해 활성화된 별칭을 주석 처리했습니다 .~/.bashrc
etc/bash.bashrc
이는 Red Hat이 전역 별칭을 처리하는 방법과 상당히 다릅니다. 이를 통해 전역 별칭을 입력할 수 있지만 /etc/profile.d/[filename].sh
Debian과 Red Hat의 구성 방식이 다르고 프로필과 bashrc 파일 간의 관계가 다르기 때문에 그렇지 않은 것 같습니다. 데비안의 옵션이 됩니다.
즉, Red Hat의 경우 프로필/bashrc 파일을 소싱하여 처리하므로 다양한 쉘/로그인 유형에서 작동합니다(여기에 설명됨).https://unix.stackexchange.com/questions/170493/login-non-login-and-interactive-non-interactive-shells). 그러나 데비안의 경우 파일은 /etc/profile.d/*.sh
로그인 셸용으로만 제공되는 것 같습니다. 하지만 여기에 대한 이전 답변이 삭제되었으므로 편집하고 명확히 할 수 없었습니다.
데비안의 경우 전역 별칭이 로그인 셸에서만 작동하도록 하려면 이를 /etc/profile.d/aliases.sh
. 그렇지 않으면 에 추가해야 할 것 같습니다 /etc/bash.bashrc
. 의 별칭이 ~/.bashrc
우선 적용된다는 점을 명심하세요 . 정의한 별칭이 작동하지 않으면 해당 별칭이 다른 곳에 정의되어 귀하의 별칭을 재정의할 가능성이 있습니다.