POSIX Shell: 환경변수(Environment Variable)

환경변수는 시스템의 설정값이나 실행 경로 등, 운영체제 전반에 걸쳐 공유되어야 하는 정보를 담고 있습니다. 일반 변수 vs 환경 변수 가장 큰 차이점은 ‘전파(Inheritance)’입니다. export 명령어: 환경변수 만들기 일반 변수를 환경변수로 승격시킬 때 export를 사용합니다. 주요 표준 환경변수 POSIX 시스템(Linux, AIX 등)에서 미리 정의되어 자주 쓰이는 변수들입니다. 변수명 설명 $PATH 명령어를 찾을 디렉토리 경로 목록 (콜론 […]

POSIX Shell: 환경변수(Environment Variable) 더 읽기"

POSIX Shell: case 문

if 문이 “예/아니오”라는 논리적 판단에 강하다면, case 문은 “이 값은 어디에 해당하나?”라는 패턴 매칭에 최적화되어 있습니다. 코드의 가독성을 높여주는 case 문의 모든 것을 알아봅니다. 기본 구조 case 문은 변수의 값을 여러 패턴과 비교하며, 처음으로 일치하는 블록을 실행합니다. 활용 가능한 패턴 종류 POSIX 표준에서 지원하는 패턴들입니다. 정규표현식과는 조금 다르니 주의하세요! 예제 ① 스크립트 인자(Argument) 처리 :

POSIX Shell: case 문 더 읽기"

POSIX Shell: 변수(Variables) & 문자열(String)

쉘 스크립트에서 변수는 별도의 선언(형식 지정) 없이 바로 사용할 수 있어 유연하지만, 그만큼 문법이 엄격한 부분도 있습니다. 특히 공백과 따옴표 사용법이 핵심입니다. 변수 선언과 사용 (Variables) Shell 변수는 선언 시 타입을 지정하지 않으며, 공백에 매우 민감합니다. 특수 변수 (Special Variables) 스크립트 실행 시 자동으로 할당되는 예약 변수들입니다. 변수 의미 예시 (./run.sh aix hacmp) $0 스크립트

POSIX Shell: 변수(Variables) & 문자열(String) 더 읽기"

POSIX Shell: 표준 함수(Function)

스크립트의 규모가 커지면 중복되는 코드를 줄이기 위해 함수(Function)를 사용해야 합니다. POSIX 표준을 따르면서 어디서나 잘 작동하는 함수 작성법을 알아봅니다. 기본 문법 가장 중요한 차이점은 function이라는 키워드를 쓰지 않는다는 것입니다. 인자 전달 (Arguments) 함수로 값을 보낼 때는 별도의 파라미터 이름을 정의하지 않고, 스크립트 실행 인자와 똑같이 위치 매개변수($1, $2, …)를 사용합니다. 변수 의미 $1, $2 첫

POSIX Shell: 표준 함수(Function) 더 읽기"

POSIX Shell: if

쉘 스크립트에서 if문은 프로그램의 흐름을 결정하는 핵심입니다. 하지만 #!/bin/sh 환경에서는 우리가 흔히 쓰는 Bash 전용 문법([[ ]])을 사용할 수 없습니다. 어디서나 돌아가는 견고한 스크립트를 위한 POSIX 표준 if 문법을 정리합니다. 기본 구조 가장 중요한 것은 if, then, fi의 짝을 맞추는 것입니다. 주의: [ 뒤와 ] 앞에는 반드시 공백이 있어야 합니다. [는 사실 test라는 이름의 명령어이기

POSIX Shell: if 더 읽기"

POSIX Shell: printf

쉘 스크립트를 작성할 때 단순히 메시지를 출력하기 위해 echo를 자주 사용합니다. 하지만 스크립트가 복잡해지고 여러 환경에서의 이식성(Portability)이 중요해지면 printf를 사용하는 것이 개발자 정신 건강에 좋다. echo 대신 printf? 특징 echo printf 표준 준수 시스템/쉘마다 동작이 다름 (비표준) POSIX 표준 — 어디서나 동일하게 동작 제어 능력 단순 출력에 최적화 포맷 지정자를 통한 세밀한 제어 가능 개행(줄바꿈)

POSIX Shell: printf 더 읽기"

#include 지시자

C 언어와 C++에서 #include는 소스 코드 파일의 가장 윗부분에서 흔히 볼 수 있는 전처리기 지시자(Preprocessor Directive)입니다. 1. #include의 핵심 역할 #include는 한마디로 “복사해서 붙여넣기”입니다. 컴파일러가 실제 코드를 번역하기 전(전처리 단계), 지정한 파일의 내용을 #include 문장이 있는 그 자리에 통째로 가져와서 삽입합니다. 2. 사용법에 따른 차이 ( < > vs ” ” ) #include를 사용할 때

#include 지시자 더 읽기"

POSIX(Portable Operating System Interface)

POSIX Portable Operating System Interface 서로 다른 UNIX 계열 운영체제 간의 애플리케이션 호환성을 높이기 위해 IEEE가 책정한 유닉스 기반의 표준 API 규격으로 ‘X’는 UNIX(유닉스) 호환 운영체제를 의미하는 관습 1. 이름의 탄생 비화 (리처드 스톨먼,  Richard Stallman의 제안) https://en.wikipedia.org/wiki/POSIX 2. 구체적으로 무엇을 정의하는가? 단순히 API 함수 이름만 정하는 것이 아니라 다음 세 가지 핵심 요소를 모두

POSIX(Portable Operating System Interface) 더 읽기"

HBA (Host Bus Adapter) – Network

HBA (Host Bus Adapter) ? 호스트 버스 어댑터 서버와 스토리지 네트워크(Fibre Channel SAN)를 연결해주는 인터페이스 카드입니다. 일반적인 이더넷 네트워크에서 사용하는 NIC(Network Interface Card)가 LAN 연결용이라면, HBA는 스토리지 네트워크 연결을 담당하는 장치라고 보면 됩니다. 즉, 서버가 Storage Array의 LUN에 접근할 수 있도록 통로 역할을 합니다. 기본 개념 서버 내부에는 CPU, 메모리, 디스크 외에도 확장 슬롯(PCIe)이 존재합니다.

HBA (Host Bus Adapter) – Network 더 읽기"

LUN (Logical Unit Number) – Network

LUN (Logical Unit Number) ? 논리적 저장장치 식별 번호  스토리지 어레이(Storage Array)  내에서 논리적으로 구분된 저장 공간입니다. 물리적 디스크를 여러 개의 논리적 단위로 나누어 각 서버에 할당하는 개념입니다. 기본 개념 실제 디스크 어레이에는 여러 개의 물리 디스크(Physical Disk)가 있습니다. 이 물리 디스크들을 RAID로 구성하여 보호한 후, 그 위에 논리적으로 공간을 나누어 LUN을 만듭니다. 각 서버는

LUN (Logical Unit Number) – Network 더 읽기"

위로 스크롤