Live hot, Think cool

bash란 +1

bash shell 이란

공부방2017. 1. 30. 20:16
"Hashbang" redirects here. For hashbangs in URLs, see Fragment identifier § Proposals.

In computing, a shebang is the character sequence consisting of the characters number sign and exclamation mark (#!) at the beginning of a script. It is also called sha-bang,[1][2] hashbang,[3][4] pound-bang,[5] or hash-pling.[6]

Under Unix-like operating systems, when a script with a shebang is run as a program, the program loader parses the rest of the script's initial line as an interpreter directive; the specified interpreter program is run instead, passing to it as an argument the path that was initially used when attempting to run the script.[7] For example, if a script is named with the path path/to/script, and it starts with the following line:


#!/bin/sh


then the program loader is instructed to run the program /bin/sh instead, passing path/to/script as the first argument.


#!를 shebang(샤방) 라인이라고 부른다.


*.sh 스크립트에 처음


#!/bin/bash

#!/usr/bin/env bash 등으로 사용하는데


이렇게 쓰면 /bin/sh를 로드하지 않고 대신 #!에 지정한 쉘을 interpreter directive(인터프리터 지시자)로 구분한다.

(https://en.wikipedia.org/wiki/Shebang_(Unix) - 발취)

========================================


bashBourne Again Shell 의 약자입니다. 가장 현대적이고 강력한* 셀입니다. Steven Bourne 이라는 사람이 만든 Bourne Shell (약칭: sh) 을, 개량한 것이 bash 이에요

* Korn shell 이라는 강력한 셀도 있지만, bash 와 달리 100% 무료는 아닙니다.


발표된 순으로 셀의 종류를 나열하자면 다음과 같습니다:

Bourne shell (sh) - 1979년에 발표

C shell (csh)

Korn shell (ksh)

Bourne Again shell (bash) - 1988에 처음 발표


(http://mwultong.blogspot.com/2006/07/shell-bash-shell.html - 발최)

========================================


리눅스에서 쓸 수 있는 모든 쉘들처럼, BASH(Bourne Again Shell)은 뛰어난 명령 라인 쉘이면서, 그 자체로도 하나의 스크립팅 언어이다. 당신은 쉘 스크립팅을 이용해서 쉘이 가진 능력을 충분히 활용할 수 있으며, 쉘 스크립팅이 아니었으면  수많은 명령을 필요로 했을 많은 일들을 자동적으로 처리할 수도 있다. 당신의 리눅스 박스에 놓여 있는 많은 프로그램들은 쉘 스크립트들이다. 만일 쉘 스크립트가 어떻게 작동하는지 배우고 싶거나 당신이 가지고 있는 쉘 스크립트를 수정하고 싶다면, bash 문법을 이해하는 것은 필수적이다. 게다가, bash 언어를 이해하면 정확히 당신이 원하는 방식으로 일을 하는 당신 자신의 프로그램을 작성할 수 있다. 


(http://coffeenix.net/doc/shell/introbashscript.htm - 발최)

========================================


Shell의 종류

bash ( Bourne-Again Shell )

프롬프트 : #

실행파일은 /bin/bash

Bourne again shell은 최초로 개발된 쉘인 Bourne shell의 변종이라 할 수 있습니다.
리눅스에서 가장 많이 사용되는 IEEE POSIX 호환이며 Borune shell과 호환되는 쉘로서 
GNU 프로젝트에 의해 만들어지고 배포되고 있습니다. 명령행 편집 기능을 제공합니다

 

sh ( Bourne Shell )

프롬프트 : $

본 쉘 보다는 개발된 C쉘이나 콘 쉘과 기능적인 면을 비교해 보면 본 쉘에 미흡한 점이 있다. 그 중 가장 큰 단점은 상호 대화형(Interactive)

방식을 취하고 있지 않다는 점이다. 이러한 상호 대화형 방식을 사용하고자 한다면 쉘을 바꿔서 작업하는 것이 좋을 것이다.

- Steven Bourne의 Bourne Shell, sh

- 쉘 명령 대본을 작성하는데 이용되는 쉘

- 강력한 명령 프로그래밍 언어 기능을 갖는 쉘

- 가장 오래 동안 모든 유닉스 시스템의 표준 구성 요소

 

csh ( C 프로그램 스타일의 Shell )

프롬프트 : %

버클리 캘리포니아 대학에서 개발된 프로그래머들에게 적합한 shell입니다. ( csh는 C쉘이며 sh는 본 쉘이다 )
대화형 사용법에서는 Bourne shell과 대부분 호환되지만 전혀 다른 프로그래밍 인터페이스를 가지고 있고, 히스토리 대체라는 복잡한

기능으로 대신하고 있지만 명령행 편집 기능은 제공하지 않습니다.

- Bill Joy의 C Shell, csh

- C언어와 유사한 언어를 사용

- 상호 대화형 방식으로 구성 

 

ksh ( Korn Shell )

프롬프트 : $

일반적으로 유닉스에서 가장 많이 사용되고 있는 shell이며 Bourne shell에 처음으로 현대적
인 shell 기능(C shell로부터 차용한 것이다.)을 도입한 shell 입니다. Bourne shell과 호환
되고, 명령행 편집 기능을 제공합니다.

 

zsh

프롬프트 : %

Korn Shell과 매우 유사한 셸이지만 Korn Shell보다 더 많고 유용한 기능 등을 추가하여 개선시킨 것이다.

 

tc Shell

프롬프트 : >

코넬 대학에서 C Shell 수정본에 Korn Shell의 기능을 포함하여 개발된 셸이다. 95%의 C Shell과 5%의 새로운 기능이 추가되어 만들어졌다.


(http://unabated.tistory.com/entry/LinuxUnix%EC%89%98-Shell-%EC%9D%98-%EC%A0%95%EC%9D%98%EC%99%80-%EC%A2%85%EB%A5%98 - 발최)