{{위키데이터 속성 추적}}
{{소프트웨어 정보
 | 이름                 = 배시
 | 로고                 = Gnu-bash-logo.svg
 | 화면                 = Bash screenshot.png
 | 설명                 = 배시 세션의 스크린샷
 | 원저자               = [[브라이언 폭스]]
 | 개발자               = 
| released = {{시작 날짜와 나이|1989|06|08}}
| latest release version = {{wikidata|property|preferred|references|edit|Q189248|P348|P548=Q2804309}}
| latest release date = {{wikidata|qualifier|preferred|single|Q189248|P348|P548=Q2804309|P577}}
| latest preview version = {{wikidata|property|preferred|references|edit|Q189248|P348|P548=Q51930650}}
| latest preview date = {{wikidata|qualifier|preferred|single|Q189248|P348|P548=Q51930650|P577}}
 | 상태                 =
 | 프로그래밍 언어      = [[C (프로그래밍 언어)|C]]
 | 운영체제             = [[크로스 플랫폼]]
 | 엔진                 =
 | 플랫폼               = [[GNU]]
 | 크기                 = 
 | 언어                 = 영어, 다국어
 | 종류                 = [[유닉스 셸]]
 | 라이선스             = [[GNU 일반 공중 사용 허가서#GPLv3|GNU 일반 공중 사용 허가서 버전 3]]+<ref name="license">{{웹 인용
| 저자                = GNU Project
| 저자고              = GNU Project
| 제목                = README file
| url                = http://www.gnu.org/software/bash/
| 인용문              = Bash is free software, distributed under the terms of the [GNU] General Public License as published by the Free Software Foundation, version 3 of the License (or any later version).
}}</ref>
 | 웹사이트             = [http://www.gnu.org/software/bash/ Bash GNU 프로젝트 웹 사이트]
}}
'''배시'''(Bash, Bourne-again shell, 본 어게인 셸)는 [[본 셸]]을 대체하는 [[자유 소프트웨어]]로서 [[GNU 프로젝트]]를 위해 [[브라이언 폭스]](Brian Fox)가 작성한 유닉스 셸이다.<ref name="GNUBSD">
{{웹 인용
  | 제목 = GNU + BSD = ?
  | 저자 = [[Richard Stallman]] (forwarded with comments by Chet Ramey)
  | 날짜 = 1988년 2월 10일
  | 출판사 = comp.unix.questions
  | id =
  | url = http://groups.google.com/group/comp.unix.questions/msg/e44ad620f76be7c9?hl=en
  | 확인날짜 = Mar 22, 2011
  | 인용문= For a year and a half, the GNU shell was "just about done".  The author made repeated promises to deliver what he had done, and never kept them.  Finally I could no longer believe he would ever deliver anything.  So Foundation staff member Brian Fox is now implementing an imitation of the Bourne shell.
}}
</ref><ref>{{저널 인용
  | 이름 = Hamilton
  | 성 = Naomi
  | 저자링크 = http://www.computerworld.com.au/author/97635374/naomi-hamilton/articles
  | 제목 = The A-Z of Programming Languages: BASH/Bourne-Again Shell
  | 저널 = Computerworld
  | 쪽 = 2
  | 날짜 = 2008년 5월 30일
  | 확인날짜 = Mar 21, 2011
  | url = http://www.computerworld.com.au/article/222764/a-z_programming_languages_bash_bourne-again_shell/?pp=2&fp=16&fpid=1
  | 인용문 = When Richard Stallman decided to create a full replacement for the then-encumbered Unix systems, he knew that he would eventually have to have replacements for all of the common utilities, especially the standard shell, and those replacements would have to have acceptable licensing.
  | 보존url = https://web.archive.org/web/20110706103704/http://www.computerworld.com.au/article/222764/a-z_programming_languages_bash_bourne-again_shell/?pp=2&fp=16&fpid=1
  | 보존날짜 = 2011년 7월 6일
  | url-status = dead
  }}</ref> 1989년 발표되어
[[GNU 운영 체제]]와 [[리눅스]], [[맥 OS X]] 그리고 [[다윈 (운영 체제)|다윈]] 등 [[운영 체제]]의 기본 셸로 탑재되어 광범위하게 배포되었다. 또한 [[DJGPP]]와 [[넷웨어|노벨 넷웨어]]에 의해 도스로 이식되었고 [[시그윈]]과 [[MinGW]]의 배포로 [[마이크로소프트 윈도우]]로 이식되었다.

== 역사 ==
[[리처드 스톨먼]]이 이전 개발자의 진척이 부진함에 불만을 느낀 이후<ref name=GNUBSD/> [[브라이언 폭스]]는 1988년 1월 10일 Bash를 [[코딩]]하기 시작했다.<ref>
{{인용
  | author = Brian Fox
  | title = shell.c
  | place =
  | publisher = [[Free Software Foundation]]
  | date = August 29, 1996
  | url = http://ftp.gnu.org/gnu/bash/bash-1.14.7.tar.gz
  | quote = Birthdate:  Sunday, January 10th, 1988.  Initial author:  Brian Fox
 }}
</ref>

== 기능 ==
배시 명령어의 문법은 거의 대부분이 sh와 호환되어 쓰일 수 있다. 또한 [[ksh]], [[csh]]에서 많은 아이디어를 받아서 명령 히스토리, 디렉터리 스택, $RANDOM [[POSIX]] 형식 명령어 치환 등을 지원한다. 또한 입력 중에 명령어나 파일 이름을 자동 완성해 주는 기능도 지원한다.

=== 시작 스크립트 ===
배시가 시작하면 다양한 [[숨긴 파일과 숨긴 디렉터리|점(.) 파일]] 내의 명령들을 실행한다. 실행 권한을 활성화하고 <code>#!/bin/bash</code>와 같은 [[인터프리터 디렉티브]]([[셔뱅]])을 가지고 있다는 점에서 배시 셸 스크립트 명령들과 비슷하지만 배시가 사용하는 초기화 파일들은 그 둘 중 어떠한 것도 요구하지 않는다.
==== 시작 파일의 실행 순서 ====
<!-- 가독성을 위한 여백 -->
<div style="margin: 1.5em 3em">

; 상호작용 로그인 셸로 시작할 때
배시는 <code>/etc/profile</code>이 존재하면 이를 읽고 실행한다. (이 파일은 <code>/etc/bash.bashrc</code>을 호출하기도 한다.)

해당 파일을 읽은 뒤 <code>~/.bash_profile</code>, <code>~/.bash_login</code>, <code>~/.profile</code>을 순서대로 찾은 다음 파일이 존재하고 읽을 수 있으면 읽고 실행한다.

; 로그인 셸을 빠져나갈 때
배시는 <code>~/.bash_logout</code>이 존재하면 읽고 실행한다.

; 상호작용 셸로 시작할 때 (로그인 셸이 아님)
배시는 <code>/etc/bash.bashrc</code>와 <code>~/.bashrc</code>를 (존재하는 경우) 순서대로 읽고 실행한다. <code>--norc</code> 옵션을 사용하여 금지시킬 수 있다. <code>--rcfile file</code> 옵션은 배시가 <code>~/.bashrc</code> 대신 <code>file</code>로부터 명령들을 읽고 실행하도록 강제한다.
</div>

== 보안 버그 ==
{{본문| 셸쇼크 (소프트웨어 버그)}}

2014년 9월 24일 배시 터미널에서 [[하트블리드|하트블리드 버그]]에 비견될 만한 버그가 발견되었다.

== 같이 보기 ==
{{위키공용분류}}
* [[GNU readline]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* [http://www.gnu.org/software/bash/bash.html BASH 공식 사이트]

{{GNU}}
{{유닉스 셸}}
{{전거 통제}}
{{토막글|프로그래밍 언어}}

[[분류:유닉스 셸]]
[[분류:스크립트 언어]]
[[분류:GNU 프로젝트 소프트웨어]]
[[분류:크로스 플랫폼 자유 소프트웨어]]
[[분류:1989년 소프트웨어]]
[[분류:C로 작성된 자유 소프트웨어]]
[[분류:텍스트 지향 프로그래밍 언어]]