내 .bash_login 및 .bash_profile을 찾을 수 없습니다.
root@linux:~# locate .bash* /etc/bash.bashrc /etc/skel/.bashrc /etc/skel/.bashrc.original /home/noroot/.bashrc /home/noroot/.bashrc.original /root/.bash_history /root/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc /usr/share/kali-defaults/.bashrc root@linux:~#
항상 있습니까 모든 사용자에 대해 하나의 .bashrc 및 .bash_profile 파일 만 있습니까?
그리고 .bashrc 및 .bash_profile은 항상 / home / “user name”디렉토리에 있습니까?
Answer
bash가 기본적으로 보는 유일한 것은 사용자의 홈 디렉토리입니다. 예. 일반적으로 Linux에도 단일 소스가 있습니다. / etc / skel.하지만 사용자의 홈 디렉토리는 / home 아래에있을 필요는 없습니다.
당신의 .bash_login 및 .bash_profile 파일이 어디에 있는지 묻기 위해 질문을 편집하셨습니다. #
프롬프트에서 “루트로 실행한다고 가정하겠습니다.이 경우 파일은
/root/.bash_history /root/.bashrc
사용자의 홈 디렉토리에 관한 위의 원래 답변을 참조하세요. 항상 / home은 아닙니다.이 경우 루트의 홈 디렉토리는 /root
입니다. .
답변
man bash
에 따르면 :
bash가 호출되는 경우 대화 형 로그인 셸 또는 –login 옵션을 사용하는 비대화 형 셸로서 해당 파일이있는 경우 먼저 / etc / profile 파일에서 명령을 읽고 실행합니다. 해당 파일을 읽은 후 ~ / .bash_profile, ~ / .bash_login 및 ~ / .profile을 순서대로 찾고 존재하고 읽을 수있는 첫 번째 명령부터 읽고 실행합니다.
~/.bash_profile The personal initialization file, executed for login shells ~/.bashrc The individual per-interactive-shell startup file
/etc/bashrc
( /etc/bash.bashrc
Debian 기반 Linux)에 System wide functions and aliases
가 포함됩니다. 기본적으로 이는 비대화 형 비 로그인 셸에서도 설정됩니다.
편집 :
경로의 tilde
는 현재 로그인 한 사용자의 home directory
를 나타냅니다. Bash는 명령을 읽고 실행하는 데 ~/.bash_profile, ~/.bash_login, or ~/.profile
(현재 로그인 한 사용자 당) 중 하나만 사용할 수 있습니다. (Debian 기반 운영 체제에는 일반적으로 ~/.bash_profile or ~/.bash_login.
파일이 없습니다. ~/.profile
파일을 사용합니다.이 파일은 ~/.bash_profile or ~/.bash_login
가 생성되었습니다.
#~/.profile: executed by the command interpreter for login shells.
#This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
가 있습니다.
댓글
- 이것은 내 질문에 어떤 방식으로 대답합니까?
- @BROY 귀하가했던 질문이 아니라 해야했던 질문에 대한 답변입니다.
- 어떤 사람들이 .bash_profile 파일을 프로젝트 디렉토리에 넣는 것을 보았습니다. 실제로 bash에 의해 선택됩니까? 나는 ' 그렇게 생각하지 않습니다 '는 기본적으로 발생합니다.
답변
bashrc
파일의 위치는 배포판에 따라 다릅니다 … 다음은 시스템의 기본 목록입니다. bashrc
:
/etc/bashrc
(Redhat, Fedora 등)
/etc/bash.bashrc
(Debian, Ubuntu, Linux Mint, Backtrack, Kali 등)
/etc/bash.bashrc.local
(Suse, OpenSuse 등)
그런 다음 개인 단일 사용자 bashrc
가 있습니다. 대부분의 경우 ~/.bashrc
… 배포판 중 하나가 나열되지 않았거나 특별한 시스템이있는 경우 언제든지 bashrc
해당 배포판 또는 시스템의 Google 위치 …
감사합니다.
흥미 롭습니다 …
답변
사람들이 이미 언급했듯이 /etc/skel/.bashrc에서 bashrc의 골격을 찾을 수 있습니다. 다른 사용자가 다른 bash 구성을 원하는 경우 해당 사용자 홈 폴더에 .bashrc 파일을 넣어야합니다.
.bash_profile 및 .bash_login의 경우 사용자가 수동으로 생성하고 bashrc를 통해 연결해야합니다. . bash_profile 및 bash_login은로드하는 다양한 설정에 대해보다 체계적인 느낌을 만들기 위해 존재합니다. 개인적으로 모든 별칭을 bash_profile에 보관하므로 빠른 편집을 위해 bashrc에서 엉망이 된 부분을 정리할 필요가 없습니다.
다음은 .bashrc 파일에 포함 할 수있는 예입니다.
if [ -f ~/.bash_profile ]; then . ~/.bash_profile fi