Description of 고급 Bash 스크립팅 가이드
고급 Bash 스크립팅 가이드
차례
Part 1. {소개}
1. {왜 쉘 프로그래밍을 해야 하죠?}
2. {#! 으로 시작하기}
2.1. {스크립트 실행하기}
2.2. {몸풀기 연습문제(Preliminary Exercises)}
Part 2. {기초 단계}
3. {종료와 종료 상태(Exit and Exit Status)}
4. {특수 문자}
5. {변수와 매개변수 소개}
5.1. {변수 치환(Variable Substitution)}
5.2. {변수 할당(Variable Assignment)}
5.3. {Bash 변수는 타입이 없다(untyped)}
5.4. {특수한 변수 타입}
6. {쿼우팅(quoting)}
7. {테스트}
7.1. {테스트(Test Constructs)}
7.2. {파일 테스트 연산자}
7.3. {비교 연산자(이진)}
7.4. {중첩된 if/then 조건 테스트}
7.5. {여러분이 테스트문을 얼마나 이해했는지 테스트 해보기}
8. {연산자 이야기(Operations and Related Topics)}
8.1. {연산자(Operators)}
8.2. {숫자 상수(Numerical Constants)}
Part 3. {중급 단계(Beyond the Basics)}
9. {변수 재검토(Variables Revisited)}
9.1. {내부 변수(Internal Variables)}
9.2. {문자열 조작}
9.3. {매개변수 치환(Parameter Substitution)}
9.4. {변수 타입 지정: declare 나 typeset}
9.5. {변수 간접 참조}
9.6. {$RANDOM: 랜덤한 정수 만들기}
9.7. {이중소괄호(The Double Parentheses Construct)}
10. {루프와 분기(Loops and Branches)}
10.1. {루프}
10.2. {중첩된 루프}
10.3. {루프 제어}
10.4. {테스트와 분기(Testing and Branching)}
11. {내부 명령어(Internal Commands and Builtins)}
11.1. {작업 제어 명령어}
12. {외부 필터, 프로그램, 명령어}
12.1. {기본 명령어}
12.2. {복잡한 명령어}
12.3. {시간/날짜 명령어}
12.4. {텍스트 처리 명령어}
12.5. {파일, 아카이브(archive) 명령어}
12.6. {통신 명령어}
12.7. {터미널 제어 명령어}
12.8. {수학용 명령어}
12.9. {기타 명령어}
13. {시스템과 관리자용 명령어}
14. {명령어 치환(Command Substitution)}
15. {산술 확장(Arithmetic Expansion)}
16. {I/O 재지향}
16.1. {exec 쓰기}
16.2. {코드 블럭 재지향}
16.3. {응용}
17. {Here Documents}
18. {쉬어가기}
Part 4. {고급 주제들(Advanced Topics)}
19. {정규 표현식(Regular Expressions)}
19.1. {정규 표현식의 간략한 소개}
19.2. {Globbing}
20. {서브쉘(Subshells)}
21. {제한된 쉘(Restricted Shells)}
22. {프로세스 치환(Process Substitution)}
23. {함수}
23.1. {복잡 함수와 함수의 복잡성(Complex Functions and Function Complexities)}
23.2. {지역 변수와 재귀 함수(Local Variables and Recursion)}
24. {별칭(Aliases)}
25. {리스트(List Constructs)}
26. {배열}
27. {파일들}
28. {/dev 와 /proc}
28.1. {/dev}
28.2. {/proc}
29. {제로와 널(Of Zeros and Nulls)}
30. {디버깅}
31. {옵션}
32. {몇 가지 지저분한 것들(Gotchas)}
33. {스타일 있게 스크립트 짜기}
33.1. {비공식 쉘 스크립팅 스타일시트}
34. {자질구레한 것들}
34.1. {대화(interactive)형 모드와 비대화(non-interactive)형 모드 쉘과 스크립트}
34.2. {쉘 래퍼(Shell Wrappers)}
34.3. {테스트와 비교: 다른 방법}
34.4. {최적화}
34.5. {팁 모음(Assorted Tips)}
34.6. {괴상한 것(Oddities)}
34.7. {이식성 문제(Portability Issues)}
34.8. {윈도우즈에서의 쉘 스크립팅}
35. {Bash, 버전 2}
36. {후기(Endnotes)}
36.1. {저자 후기(Author's Note)}
36.2. {저자에 대해서}
36.3. {이 책을 만드는데 쓴 도구들}
36.3.1. {하드웨어}
36.3.2. {소프트웨어와 프린트웨어}
36.4. {크레딧}
차례
Part 1. {소개}
1. {왜 쉘 프로그래밍을 해야 하죠?}
2. {#! 으로 시작하기}
2.1. {스크립트 실행하기}
2.2. {몸풀기 연습문제(Preliminary Exercises)}
Part 2. {기초 단계}
3. {종료와 종료 상태(Exit and Exit Status)}
4. {특수 문자}
5. {변수와 매개변수 소개}
5.1. {변수 치환(Variable Substitution)}
5.2. {변수 할당(Variable Assignment)}
5.3. {Bash 변수는 타입이 없다(untyped)}
5.4. {특수한 변수 타입}
6. {쿼우팅(quoting)}
7. {테스트}
7.1. {테스트(Test Constructs)}
7.2. {파일 테스트 연산자}
7.3. {비교 연산자(이진)}
7.4. {중첩된 if/then 조건 테스트}
7.5. {여러분이 테스트문을 얼마나 이해했는지 테스트 해보기}
8. {연산자 이야기(Operations and Related Topics)}
8.1. {연산자(Operators)}
8.2. {숫자 상수(Numerical Constants)}
Part 3. {중급 단계(Beyond the Basics)}
9. {변수 재검토(Variables Revisited)}
9.1. {내부 변수(Internal Variables)}
9.2. {문자열 조작}
9.3. {매개변수 치환(Parameter Substitution)}
9.4. {변수 타입 지정: declare 나 typeset}
9.5. {변수 간접 참조}
9.6. {$RANDOM: 랜덤한 정수 만들기}
9.7. {이중소괄호(The Double Parentheses Construct)}
10. {루프와 분기(Loops and Branches)}
10.1. {루프}
10.2. {중첩된 루프}
10.3. {루프 제어}
10.4. {테스트와 분기(Testing and Branching)}
11. {내부 명령어(Internal Commands and Builtins)}
11.1. {작업 제어 명령어}
12. {외부 필터, 프로그램, 명령어}
12.1. {기본 명령어}
12.2. {복잡한 명령어}
12.3. {시간/날짜 명령어}
12.4. {텍스트 처리 명령어}
12.5. {파일, 아카이브(archive) 명령어}
12.6. {통신 명령어}
12.7. {터미널 제어 명령어}
12.8. {수학용 명령어}
12.9. {기타 명령어}
13. {시스템과 관리자용 명령어}
14. {명령어 치환(Command Substitution)}
15. {산술 확장(Arithmetic Expansion)}
16. {I/O 재지향}
16.1. {exec 쓰기}
16.2. {코드 블럭 재지향}
16.3. {응용}
17. {Here Documents}
18. {쉬어가기}
Part 4. {고급 주제들(Advanced Topics)}
19. {정규 표현식(Regular Expressions)}
19.1. {정규 표현식의 간략한 소개}
19.2. {Globbing}
20. {서브쉘(Subshells)}
21. {제한된 쉘(Restricted Shells)}
22. {프로세스 치환(Process Substitution)}
23. {함수}
23.1. {복잡 함수와 함수의 복잡성(Complex Functions and Function Complexities)}
23.2. {지역 변수와 재귀 함수(Local Variables and Recursion)}
24. {별칭(Aliases)}
25. {리스트(List Constructs)}
26. {배열}
27. {파일들}
28. {/dev 와 /proc}
28.1. {/dev}
28.2. {/proc}
29. {제로와 널(Of Zeros and Nulls)}
30. {디버깅}
31. {옵션}
32. {몇 가지 지저분한 것들(Gotchas)}
33. {스타일 있게 스크립트 짜기}
33.1. {비공식 쉘 스크립팅 스타일시트}
34. {자질구레한 것들}
34.1. {대화(interactive)형 모드와 비대화(non-interactive)형 모드 쉘과 스크립트}
34.2. {쉘 래퍼(Shell Wrappers)}
34.3. {테스트와 비교: 다른 방법}
34.4. {최적화}
34.5. {팁 모음(Assorted Tips)}
34.6. {괴상한 것(Oddities)}
34.7. {이식성 문제(Portability Issues)}
34.8. {윈도우즈에서의 쉘 스크립팅}
35. {Bash, 버전 2}
36. {후기(Endnotes)}
36.1. {저자 후기(Author's Note)}
36.2. {저자에 대해서}
36.3. {이 책을 만드는데 쓴 도구들}
36.3.1. {하드웨어}
36.3.2. {소프트웨어와 프린트웨어}
36.4. {크레딧}
Additional Information