~/.profile과 ~/.bash_profile의 차이점은 무엇입니까?

~/.profile과 ~/.bash_profile의 차이점은 무엇입니까?

~/.profile이들그리고 그리고 의 차이점은 무엇인가요 ~/.bash_profile?

답변1

이는 .profileBourne 셸(일명 ) sh의 원래 프로필 구성 입니다. bash, Bourne 호환 쉘이 이를 읽고 사용하기 때문입니다. 반면에 는 .bash_profile로만 읽을 수 있습니다 bash. 표준 Bourne 쉘과 호환되지 않는 명령과 함께 작동합니다.

답변2

원본 sh소스는 시작 시에 있습니다 .profile.

bash먼저 소스를 가져오려고 시도 .bash_profile하지만 소스가 없으면 .profile1을 가져옵니다 .

bash로 시작 되거나 sh(예: /bin/sh에 연결됨 /bin/bash) 플래그로 시작된 경우 --posix가장을 시도 sh하고 읽기만 합니다 .profile.

각주:

  1. 사실 첫 번째는 .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/dashAlmquist 쉘(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는 이를 실행하지 않기 때문에 확실히 ~/.bashrcBash 초기화 파일이 아닙니다.

본 쉘

죽었어. 사용하는 경우에도 man sh지침이 표시됩니다 dash. [편집자 주: 이 내용은 dashDebian 및 Ubuntu와 같은 Debian 기반 배포판에만 적용됩니다. ]

너의 답

~/.bash_profilebash에서는 작동하지만 ~/.profileBourne 및 Korn 쉘에서는 작동하지 않습니다.

답변4

로그인 쉘은 단순히 SSH나 콘솔을 통해 로그인할 수 있는 쉘입니다. 비로그인 쉘은 다른 사람이 로그인할 수 없는 쉘입니다. 비로그인 쉘은 일반적으로 프로그램/시스템 서비스에서 사용됩니다.

세 번째 요점은. 실제로 .bashrc쉘의 모든 인스턴스에서 실행됩니다. 단, .bash_profile로그인한 경우에만 사용됩니다. 이것이 두 개의 별도 파일이 있는 이유입니다.

.profile항상 사용 가능해야 하는 환경 변수 $PATH와 같이 Bash와 특별히 관련되지 않은 항목에 사용됩니다. .bash_profile로그인 쉘 또는 로그인 시 실행되는 쉘용으로 특별히 설계되었습니다.

관련 정보