{{위키데이터 속성 추적}}
[[파일:bash_screenshot.png|섬네일|300px|[[배시]] 세션의 스크린샷 - [[젠투 리눅스]]에서.]]
'''유닉스 셸'''(Unix shell)은 [[명령 줄]]이라고도 하며 [[유닉스]] [[운영 체제]]와 [[유닉스 계통]]의 시스템을 위한 전통적인 [[사용자 인터페이스]]를 제공한다. 사용자들은 명령어를 문자열로 입력함으로써 셸이 실행되게끔 [[컴퓨터]]의 동작을 다룰 수 있다. [[마이크로소프트 윈도우]] 운영 체제 제품군 안에도 이와 비슷한 프로그램 [[command.com]] 또는 [[cmd.exe]]([[윈도우 NT]] 기반 운영 체제)이 있다.

== 셸 분류 ==
=== 본 셸 호환 ===
* [[본 셸]] (sh)
* [[암키스트 셸]] (ash)
** [[데비안 암키스트 셸]](dash)
* [[배시 (유닉스 셸)|Bash]]
** [[콘 셸]] (ksh)
** [[Z 셸]] (zsh)

=== C 셸 호환 ===
* [[C 셸]] (csh)
** [[tcsh|테넥스 C 셸]] (tcsh)
=== 기타 ===
* [[프렌들리 인터렉티브 셸|fish]]
* [[rc]]
* [[scsh]]
* [[bush Box]]

=== 히스토릭 ===
* [[톰프슨 셸]] (sh)
* [[PWB 셸]], 곧 마셰이 셸 (sh)

== 셸을 위한 구성 파일 ==
{| class="wikitable" style="text-align:center;"
||
!sh
!ksh
!csh
!tcsh
!bash
!zsh
|- style="background:#CFCFCF
!style="text-align:left;"|<code>/etc/.login</code>
|
|
|login
|login
|
|
|- style="background:#F2F2F2;"
!style="text-align:left;"|<code>/etc/csh.cshrc</code>
|
|
|yes
|yes
|
|
|- style="background:#CFCFCF;"
!style="text-align:left;"|<code>/etc/csh.login</code>
|
|
|login
|login
|
|
|- style="background:#F2F2F2;"
!style="text-align:left;"|<code>~/.tcshrc</code>
|
|
|
|yes
|
|
|- style="background:#CFCFCF;"
!style="text-align:left;"|<code>~/.cshrc</code>
|
|
|yes
|yes<small><ref>only if <code>~/.tcshrc</code> not found</ref></small>
|
|
|- style="background:#F2F2F2;"
!style="text-align:left;"|<code>~/.login</code>
|
|
|login
|login
|
|
|- style="background:#CFCFCF;"
!style="text-align:left;"|<code>~/.logout</code>
|
|
|login
|login
|
|
|- style="background:#F2F2F2;"
!style="text-align:left;"|<code>/etc/profile</code>
|login
|login
|
|
|login
|login
|- style="background:#CFCFCF;"
!style="text-align:left;"|<code>~/.profile</code>
|login
|login
|
|
|login<small><ref name="bash profiles">in fact, the first readable of <code>~/.bash_profile</code>, <code>~/.bash_login</code> and <code>~/.profile</code>; and only <code>~/.profile</code> if invoked as <code>sh</code></ref></small>
|login
|- style="background:#F2F2F2;"
!style="text-align:left;"|<code>~/.bash_profile</code>
|
|
|
|
|login<small><ref name="bash profiles" /></small>
|
|- style="background:#CFCFCF;"
!style="text-align:left;"|<code>~/.bash_login</code>
|
|
|
|
|login<small><ref name="bash profiles" /></small>
|
|- style="background:#F2F2F2;"
!style="text-align:left;"|<code>~/.bash_logout</code>
|
|
|
|
|login
|
|- style="background:#CFCFCF;"
!style="text-align:left;"|<code>~/.bashrc</code>
|
|
|
|
|int.+n/login
|
|- style="background:#F2F2F2;"
!style="text-align:left;"|<code>/etc/zshenv</code>
|
|
|
|
|
|yes
|- style="background:#CFCFCF;"
!style="text-align:left;"|<code>/etc/zprofile</code>
|
|
|
|
|
|login
|- style="background:#F2F2F2;"
!style="text-align:left;"|<code>/etc/zshrc</code>
|
|
|
|
|
|int.
|- style="background:#CFCFCF;"
!style="text-align:left;"|<code>/etc/zlogin</code>
|
|
|
|
|
|login
|- style="background:#F2F2F2;"
!style="text-align:left;"|<code>/etc/zlogout</code>
|
|
|
|
|
|login
|- style="background:#CFCFCF;"
!style="text-align:left;"|<code>~/.zshenv</code>
|
|
|
|
|
|yes
|- style="background:#F2F2F2;"
!style="text-align:left;"|<code>~/.zprofile</code>
|
|
|
|
|
|login
|- style="background:#CFCFCF;"
!style="text-align:left;"|<code>~/.zshrc</code>
|
|
|
|
|
|int.
|- style="background:#F2F2F2;"
!style="text-align:left;"|<code>~/.zlogin</code>
|
|
|
|
|
|login
|- style="background:#CFCFCF;"
!style="text-align:left;"|<code>~/.zlogout</code>
|
|
|
|
|
|login
|}

설명:
* 빈 공백은 셸이 파일을 읽지 않는다는 것을 의미한다.
* "yes"는 시작 시 셸이 언제나 파일을 읽어들인다는 것을 의미한다.
* "login"은 셸이 로그인 셸인 경우 파일을 읽어들인다는 것을 의미한다.
* "n/login"은 셸이 로그인 셸이 아닌 경우 파일을 읽어들인다는 것을 의미한다.
* "int."는 셸이 상호작용하는 경우 파일을 읽어들인다는 것을 의미한다.

==문법==
변수 할당 기호 =
 변수명 = 변수값
:>   ping=pong
:> echo  $ping

== 각주 ==
<references />

== 같이 보기 ==
* [[셸]]
* [[셸 계정]]

{{유닉스 셸}}
{{토막글|소프트웨어}}

[[분류:유닉스 셸| ]]
[[분류:시스템 관리]]