💡 핵심 요약 (Executive Summary)
본 가이드는 bash doc2 핵심 가이드 및 실전 아키텍처의 핵심 개념, 실전 구성 명령어 및 아키텍처 베스트 프랙티스를 다룹니다. 클라우드 네이티브 및 인프라 엔지니어링 실무에 즉시 활용 가능하도록 체계적으로 정리했습니다.
📑 Table of Contents
요약
bash
# cmd결과를 변수로 사용하여 cmd 실행
command $({ command })
ENV
BASH_SOURCE
bash
# 현재 스크립트의 위치를 찾기
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# 스크립트 파일의 이름
SCRIPT_NAME="$(basename "${BASH_SOURCE[0]}")"
# 스크립트 파일의 전체 경로
SCRIPT_PATH="$SCRIPT_DIR/$SCRIPT_NAME"
# 결과 출력
echo "현재 스크립트의 디렉토리: $SCRIPT_DIR"
echo "현재 스크립트의 이름: $SCRIPT_NAME"
echo "현재 스크립트의 전체 경로: $SCRIPT_PATH"
Bash Command
bash
# 빈 파일 생성
>file
# 출력을 파일에 입력 후 저장
{ print } > file
# subcommand 결과 출력을 command에 파일 입력으로 사용
#ex) cat <({ subcommand }) #출력됨
#ex) echo <({ subcommand }) #임시파일 경로 출력
command <({ subcommand })
# command에 파일 입력
command < { file }
# command에 출력을 입력
{ print } | command
# subcommand 결과 값을 command 인자값(평문)으로 사용
#ex) echo `{ subcommand }`
command `{ subcommand }`
# backtick 2중첩시
command `subcommand \`subcommand2\``
# 표준출력을 파일의 마지막줄에 추가
echo 'Text' >> file
cat sourcefile >> file
# 텍스트를 파일의 마지막줄에 추가하고 출력
cat << EOF >> file
TEXTS
TESTS
EOF
# daemon 실행시 cli 백그라운드에서 실행
dockerd $
# 백그라운드 관련 보기 변경
bg
fg
# 배열의 길이 출력
export ARRAY=(A B C D)
echo ${#ARRAY[@]} #4
표현식
bash
'\n' #줄바꿈
Shell 구현
getops
Reference & Guidelines (NOTE)
getopt $string 사용시에 string은 1 char 뒤에 : 가 연결되면 value가 필요한 플래그가 됨
ex) a\:bcd\:
-a 1 -b -c -d 2
Features
리디렉션 조작
| 목적 | 명령어 |
| stdout을 stderr로 출력 |
command 1>&2
|
| stderr을 stdout으로 출력 |
command 2>&1
|
| stdout과 stderr 모두 파일로 저장 |
command > out.log 2>&1
|
| stderr만 파일로 저장 |
command 2> error.log
|
| stdout만 파일로 저장 |
command > output.log
|
| stderr 무시 |
command 2>/dev/null
|
| stdout 무시 |
command > /dev/null
|
| 둘 다 무시 |
command > /dev/null 2>&1
|
script의 실행위치로 이동
bash
SCRIPT_DIR="$(dirname "$0")" && cd $SCRIPT_DIR
Leave a Reply