- 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 # 복원