- 셸 종류설명
로그인 셸 | 사용자 로그인 시 실행되는 셸 (ssh, tty, su - 등) |
비로그인 셸 | 이미 로그인된 상태에서 실행되는 셸 (gnome-terminal, su, bash 등) |
인터랙티브 셸 | 사용자가 직접 명령어를 입력하고 결과를 보는 셸 (프롬프트가 보이는 상태) |
비인터랙티브 셸 | 스크립트 실행 등 자동화된 셸 (사용자 입력 없음, crontab 등) |
- 파일명 실행 시점대상 셸 종류주요 용도
.bash_profile | 로그인 시 | 로그인 + 인터랙티브 셸 | 환경 변수 설정, 초기화 작업 |
.profile | 로그인 시 | 로그인 셸 (sh 계열) | POSIX 호환 초기 설정 파일 |
.bashrc | 셸 시작 시 | 비로그인 + 인터랙티브 셸 | alias, shell prompt 설정 등 |
=> .bash_profile 안에서 .bashrc를 수동으로 불러오는 경우가 많습니다. 보통 이렇게 씁니다.
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
cf)
크론탭에서 실행되는 스크립트는 일반적인 셸 환경과 조금 다르게 동작합니다. 크론은 비로그인 + 비인터랙티브 셸을 사용하기 때문에 .bash_profile, .profile, .bashrc 같은 설정 파일을 자동으로 로드하지 않습니다. 따라서 같은 환경을 적용하려면 직접 설정해줘야 합니다.
#!/bin/bash
source ~/.bashrc
# 또는 source ~/.profile
- 요약 : bash_profile안에 .bashrc를 실행하게 하고, .bashrc에서 .profile을 실행하도록 설정한다.
728x90
'Linux' 카테고리의 다른 글
Linux shell 조작법 (0) | 2024.07.03 |
---|---|
CentOS7에 yarn 설치하기 (0) | 2023.03.27 |
Linux 자주쓰는 명령어 정리 (0) | 2022.12.20 |