🚀 94sssh
Published on

2025.10.31

[모두의 리눅스] - 17. 셸 스크립트 활용하기

17.1.

셸 스크립트의 결점

  • 대규모 시스템에 적합하지 않음
    변수 타입이 없고, 객체 지향 프로그래밍이 불가능. IDE의 지원도 부족한 편
  • 고성능이 필요한 처리에 적합하지 않음
    한 행씩 명령어를 실행하므로, 자식 프로세스 생성(fork) 처리가 동반되어 느린 편

17.3.

글로벌 변수: 스크립트 파일 전체에서 유효한 변수
로컬 변수: 유효 범위를 함수 내로 제한한 변수로, 변수 앞에 local이라는 키워드를 붙여 선언

  • 배시 파라미터 전개
표기법의미
${변수명#패턴}전방 최단 일치 부분 제거
${변수명##패턴}전방 최장 일치 부분 제거
${변수명%패턴}후방 최단 일치 부분 제거
${변수명%%패턴}후방 최장 일치 부분 제거

IFS: 내부 필드 구분 문자

배시에는 IFS(Internal FieldSeparater, 내부 필드 구분 문자)라는 환경 변수가 있어 단어 구분 시 사용.
IFS의 기본값은 sp(공백), ht(탭), nl(개행) 세 가지.

IFS=$'\n'과 같이 입력하면 공백이 포함된 파일도 파일 하나로 취급

IFS 백업

IFS 값을 바꾸면 다른 명령어에도 영향을 미치므로 종료 후 돌려놓는 것이 좋음.

_IFS=$IFS # 백업
IFS=$'\n' # 개행 설정
...(처리)...
IFS=$_IFS # 복원