728x90
반응형
쉘(shell) : 사용자가 명령을 입력하면 그 명령을 컴퓨터가 이해할 수 있도록 하는 프로그램
커널(kernel) : 하드웨어를 제어해서 명령을 수행, 실제로 명령이 실행되는 부분
=> 둘을 구분함으로써 사용자가 편한 쉘을 골라 사용할 수 있다
echo $0 : 현재 사용하는 쉘 확인 방법
/etc/passwd : 유저별로 어떤 쉘 사용할지 정의되어 있음(변경 가능)
또는 스크립트 작성시 상단에 #!/bin/bash 등으로 사용할 쉘 지정 가능
bash vs zsh
echo $0 : 현재 사용하는 쉘 확인 방법
zsh 설치 후 echo $0 하면 zsh 사용 가능
zsh : bash가 가지고 있지 않은 추가적인 기능이 있어 좀 더 편리할 수 있음
bash => cd /home/ubuntu/dir1
zsh => cd /h/u/d tab 하면 자동완성 가능, 다른 디렉토리로 변경 시 cd dir1 why로 바로 변경 가능

interactive shell vs Non-interactive shell
https://mug896.github.io/bash-shell/interactive_non-interactive.html
Shell이 실행되는 환경은 두가지가 있음
1) 사용자로 부터 프롬프트를 통해 직접 명령을 입력받아 실행시키는 interactive shell
2) 작성한 스크립트 파일을 실행하는것과 같은 non-interative shell
history 확장이나 alias, job control 과 같은 기능은 기본적으로 interactive shell 에서 사용하기 위한 것으로 스크립트 파일을 실행할 때는 disable됨
Interactive shell 인지 아닌지 알아보는 법)
'$-' 변수는 set 명령에 의해 설정돼있는 option flags 을 담고 있으며, 'i' 는 interactive 를 의미함
case $- in
*i*) echo interactive shell ;;
*) echo non-interactive shell ;;
esac
Interactive vs Non-Interactive Shell | Introduction
Interactive vs Non-Interactive Shell Shell 이 실행되는 환경을 두가지로 나누어 볼 수 있습니다. 사용자로 부터 프롬프트를 통해 직접 명령을 입력받아 실행시키는 interactive shell 과 작성한 스크립트 파일
mug896.github.io
728x90
반응형
'OS > LINUX' 카테고리의 다른 글
| 8. 프로세스 모니터링 (top, htop) (0) | 2026.04.01 |
|---|---|
| 7. 쉘 스크립트 (0) | 2026.03.25 |
| curl 옵션 (0) | 2025.11.18 |
| 5. IO Redirection (<,<<,>,>>) (0) | 2025.11.10 |
| 4. 파일 다운로드, 찾기 (1) | 2025.11.07 |