~/.profile
이들그리고 그리고 의 차이점은 무엇인가요 ~/.bash_profile
?
답변1
이는 .profile
Bourne 셸(일명 ) sh
의 원래 프로필 구성 입니다. bash
, Bourne 호환 쉘이 이를 읽고 사용하기 때문입니다. 반면에 는 .bash_profile
로만 읽을 수 있습니다 bash
. 표준 Bourne 쉘과 호환되지 않는 명령과 함께 작동합니다.
답변2
원본 sh
소스는 시작 시에 있습니다 .profile
.
bash
먼저 소스를 가져오려고 시도 .bash_profile
하지만 소스가 없으면 .profile
1을 가져옵니다 .
bash
로 시작 되거나 sh
(예: /bin/sh
에 연결됨 /bin/bash
) 플래그로 시작된 경우 --posix
가장을 시도 sh
하고 읽기만 합니다 .profile
.
각주:
- 사실 첫 번째는
.bash_profile
,.bash_login
.profile
또한보십시오:
답변3
UNIX 세계에는 많은 쉘이 있다는 것을 알고 있지만 대부분은 다음과 같습니다.
- 본 쉘: (
/bin/sh
발명자: Stephen Byrne) - 불다(Bourne Again Shell): (
/bin/bash
발명자: Brian Fox, GNU 프로젝트 소속) (강력한 쉘) - C 쉘: (
/bin/csh
발명자: Bill Joy, TCP/IP 스택 발명자) - 코헨 쉘: (
/bin/ksh
발명자: Bell Labs의 David Korn) - Z 쉘: (
/bin/zsh
강력한 쉘) - 테넥스 C 하우징:
/bin/tcsh
(C 쉘에서) - 데비안 Almquist 쉘: (
/bin/dash
Almquist 쉘(NetBSD 프로젝트의 Ash)에서) (Dash는 lenny에서 태어났습니다)
하지만 네 문제는은(는) ~/.bash_profile
및 ~/.profile
:
UNIX 시스템에 로그인하면 마지막 필드에서 관리자가 선택한 쉘을 기반으로 홈 디렉토리로 리디렉션됩니다. 예 /etc/passwd
:
mohsen:x:1000:1000:Mohsen Pahlevanzadeh,,,:/home/mohsen:/bin/bash
쉘이 실행되고 기본적으로 모든 쉘에는 login
설정 파일이 있습니다 logout
. 로그인하면 bash가 ~/.profile
실행되고, 로그인하면 가 logout
실행 ~/.bash_logout
됩니다.
~/.bash_history
파일에는 입력 명령이 들어 있습니다.
각 셸의 초기화 파일
테넥스 C 하우징
~/.login
로그인할 때~/.logout
로그아웃할 때~/.tcshrc
~./bashrc
배쉬와 동일
변수를 $histfile
기록 파일 이름으로 설정하고 변수를 $history
유지할 명령 수로 설정할 수 있습니다.
Z 쉘
실제로 이는 강력한 셸이므로 여유 시간이 있으면 반드시 이 셸로 마이그레이션하세요.
다른 쉘 외에도 Z 쉘에는 많은 구성 파일과 초기화 파일이 있습니다.
$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
/tmp/zsh*
/etc/zshenv
/etc/zprofile
/etc/zshrc
/etc/zlogin
참고: $ZDOTDIR
설정되지 않은 경우 집으로 설정하세요.
C 쉘
참고: TENEX C 셸은 C 셸에서 분리되었습니다. BSD는 C 쉘을 지원합니다. C 프로그래밍에 익숙하다면 구문이 비슷하기 때문에 편안함을 느낄 것입니다.
~/.login
~/.cshrc
~/.logout
참고: csh는 오래되었습니다. 대신 tcsh를 사용하세요.
코헨 쉘
~/.profile
- rc 파일: 사용자 정의
- 취소 파일: 해당 없음
쉘(BASH)
이는 GNU 프로젝트에서 탄생하고 Bourne Shell에 의해 분기된 매우 강력한 쉘입니다.
~/.bash_login
~/.bash_logout
~/.bashrc
~/.bash_profile
~/.bash_history
로그인하면 bash가 ~/.bash_profile
실행 ~/.bash_profile
됩니다 ~/.bashrc
. Bash는 이를 실행하지 않기 때문에 확실히 ~/.bashrc
Bash 초기화 파일이 아닙니다.
본 쉘
죽었어. 사용하는 경우에도 man sh
지침이 표시됩니다 dash
. [편집자 주: 이 내용은 dash
Debian 및 Ubuntu와 같은 Debian 기반 배포판에만 적용됩니다. ]
너의 답
~/.bash_profile
bash에서는 작동하지만 ~/.profile
Bourne 및 Korn 쉘에서는 작동하지 않습니다.
답변4
로그인 쉘은 단순히 SSH나 콘솔을 통해 로그인할 수 있는 쉘입니다. 비로그인 쉘은 다른 사람이 로그인할 수 없는 쉘입니다. 비로그인 쉘은 일반적으로 프로그램/시스템 서비스에서 사용됩니다.
세 번째 요점은. 실제로 .bashrc
쉘의 모든 인스턴스에서 실행됩니다. 단, .bash_profile
로그인한 경우에만 사용됩니다. 이것이 두 개의 별도 파일이 있는 이유입니다.
.profile
항상 사용 가능해야 하는 환경 변수 $PATH와 같이 Bash와 특별히 관련되지 않은 항목에 사용됩니다. .bash_profile
로그인 쉘 또는 로그인 시 실행되는 쉘용으로 특별히 설계되었습니다.