728x90
반응형
회사에서 portainer를 사용하고 있다.
portainer는 Web GUI 기반 Container 관리 툴 이다.
여기서 회사 상사분이 tomcat 9.0을 사용하면서 command 부분을 bin/bash가 아닌 bin/sh를 사용하라고 했다,
선택 사항에는 bin/ash, bin/bash, bin/sh 가 있는데, 뭐가 다른 것인지 몰라서 정리를 해보려고 한다.
Portainer에서 컨테이너의 터미널에 접속할 때, bin/ash, bin/bash, bin/sh 중 하나를 선택할 수 있는데, 이들은 각각 다른 셸(Shell)을 가리킨다.
셸은 사용자가 명령을 입력하고, 이를 해석하여 실행하는 프로그램입니다.
셸마다 기능과 사용 방법에 차이가 있다. 아래는 각 셸의 특징이다.
1. /bin/ash
- Almquist Shell의 약자로, BusyBox와 같은 경량 리눅스 시스템에서 주로 사용된다
- 경량화되어 있어 시스템 리소스가 적고 빠르다.
- 기능은 제한적이지만, POSIX 표준에 따라 작성된 스크립트는 대부분 지원한다.
- 주로 임베디드 시스템이나 Docker의 기본 셸로 많이 사용된다.
2. /bin/bash
- Bourne Again Shell의 약자로, 대부분의 리눅스 배포판에서 기본 셸로 사용된다.
- 가장 기능이 풍부하며, 스크립팅 용도로 많이 사용된다.
- 이중 대체 (double substitution), 배열 (arrays), 함수 (functions) 등 다양한 고급 기능을 제공한다.
- 대화형 셸로도 많이 사용되며, 터미널에서의 작업에 가장 많이 사용되는 셸이다.
3. /bin/sh
- 전통적인 Bourne Shell을 가리키며, 표준적인 * POSIX 셸이다.
- 일반적으로 /bin/sh는 시스템에 설치된 다른 셸(/bin/bash, /bin/dash 등)의 심볼릭 링크로 설정되어 있다.
- 호환성이 높아 스크립트 작성 시 널리 사용됩니다. 그러나 기능은 /bin/bash보다 제한적이다.
요약
- /bin/ash: 가벼운 셸로, 리소스가 적고 빠르지만 기능이 제한적이다.
- /bin/bash: 가장 많이 사용되는 셸로, 풍부한 기능을 제공하며 대화형 및 스크립트 용도로 적합하다.
- /bin/sh: 표준 셸로 호환성이 높지만, 기본 기능만을 제공한다.
포터에서 어떤 셸을 선택할지는 작업의 목적에 따라 다르다.
기본적이거나 경량화된 환경에서는 ash나 sh를, 더 많은 기능이 필요할 때는 bash를 선택하는 것이 일반적이다.
* POSIX
: *IEEE가 제정한 유닉스의 애플리케이션 프로그래밍 인터페이스(API) 규격
* IEEE
: 전기전자공학자협회(Institute of Electrical and Electronics Engineers)
728x90
반응형
'머리 있든 없든 정리하기!!!' 카테고리의 다른 글
javascript - var, const, let (0) | 2024.08.31 |
---|---|
onclick에 인수 넣을 때 (0) | 2024.08.30 |
css - position (6) | 2024.08.30 |
@RequestParam (0) | 2024.08.23 |
eclipse clean들... (0) | 2024.08.21 |