장바구니 담기 close

장바구니에 상품을 담았습니다.

셸 스크립트 프로그래밍 입문 4/e

셸 스크립트 프로그래밍 입문 4/e

  • 스티븐 코찬
  • |
  • 에이콘출판
  • |
  • 2017-12-28 출간
  • |
  • 488페이지
  • |
  • 188 X 235 mm
  • |
  • ISBN 9791161751009
판매가

35,000원

즉시할인가

31,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
31,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

★ 이 책에서 다루는 내용 ★
■ 유닉스 시스템에서 제공되는 많은 유틸리티 활용하기
■ 강력한 셸 스크립트 작성법
■ 셸의 내장 의사 결정 구문과 루프 구문 사용
■ 셸의 강력한 따옴표 메커니즘 사용
■ 셸의 내장 히스토리와 커맨드 편집 기능 최대한 활용하기
■ 유닉스 커맨드에 정규 표현식 사용하기
■ Korn 셸과 Bash 셸의 특수 기능 활용
■ 셸 언어의 버전 간의 주요 차이점 확인
■ 유닉스 시스템이 사용자에 응답하는 방식 사용자 정의하기
■ 셸 환경 설정
■ 여러 함수 사용하기
■ 스크립트 디버깅

★ 이 책의 구성 ★
이 책은 사용자가 시스템과 커맨드라인의 기본 사항을 잘 알고 있다고 가정한다. 즉, 로그인 방법을 알고 있어야 할 뿐 아니라 파일의 생성, 편집, 삭제 방법과 디렉터리로 작업하는 방법을 알고 있다고 가정한다.
리눅스 또는 유닉스 시스템을 사용한 적이 없다면 1장, ‘기초 내용 빠르게 살펴보기’에서 기본적인 내용을 살펴본다. 또한 1장에서 파일 이름 대체, I/O 리디렉션, 파이프도 살펴본다.
2장, ‘셸이란?’에서는 셸의 실제 개념과 동작 원리를 설명하고, 운영체제와 상호작용하는 주요 방법이 어떻게 끝나는지 보여준다. 시스템에 로그인할 때마다 무슨 일이 발생하는지 살펴보고 셸 프로그램이 시작되는 방법, 커맨드라인을 구문 분석하는 방법, 다른 프로그램을 실행하는 방법을 다룬다.
3장, ‘필요한 도구’에서는 셸 프로그램 작성에 유용한 툴을 설명한다. 3장에서 다루는 커맨드는 cut, paste, sed, grep, sort, tr, uniq다. 틀림없이 해당 커맨드의 선택은 주관적이지만 이 책의 모든 부분에서 개발할 프로그램에서 사용된다. 또한 3장에서는 sed, grep, ed와 같은 많은 유닉스 커맨드에서 사용되는 정규식에 대해 자세히 설명한다.
4장에서 9장까지는 프로그램 작성에 도움을 주는 셸의 사용 방법을 설명한다. 즉, 커맨드를 직접 작성하는 방법, 변수를 사용하는 방법, 매개변수를 받을 수 있는 프로그램을 작성하는 방법, 결정하는 방법, 셸의 for, while, until과 루프 커맨드를 사용하는 방법, read 커맨드를 사용해 터미널 또는 파일에서 데이터를 읽는 방법을 다룬다.
5장, ‘따옴표’에서는 셸의 가장 흥미로운 부분 중 하나인 따옴표를 해석하는 방식에 대해 장 전체에 걸쳐 다룬다.
이 책의 9장까지 셸의 모든 기본 프로그래밍 구조를 다루기 때문에 여러분은 특정 문제를 해결할 수 있는 셸 프로그램을 작성할 수 있다.
10장, ‘사용자 환경’에서는 매우 중요한 주제로 셸이 작동하는 방식인 환경(environment)을 설명한다. 지역 변수, export 변수와 서브 셸, 그리고 HOME, PATH, CDPATH 같은 특수한 셸 변수와 .profile 파일을 설정하는 방법을 살펴본다.
11장, ‘매개변수 더 살펴보기’와 12장, ‘미진한 부분 살펴보기’에서는 일부 미진한 부분을 살펴보고 13장, ‘rolo 수정’에서는 책 전체에 걸쳐 개발된 rolo라는 전화번호부 프로그램의 최종 버전을 제공한다.
14장, ‘대화식 및 비표준 셸 기능’에서는 공식적으로 IEEE POSIX 표준 셸의 일부가 아니거나(대부분의 유닉스 및 리눅스 셸에서는 사용할 수 있음) 프로그램 대신 대화식으로 사용되는 셸의 기능에 대해 설명한다.
이 책의 철학은 예시를 통해 가르치는 것이다. 우리는 특정 기능의 사용 방법을 많은 말로써 설명하는 것보다 적절하게 선택된 예시를 통해 설명하는 것이 여러분이 이해하는 데 훨씬 효과적이라고 믿는다. ‘천 마디 말보다 한 번 보는 게 더 낫다.’라는 오래된 격언은 코딩에도 적용되는 것 같다.
여러분의 시스템에서 모든 예시를 입력하고 테스트해보길 권한다. 테스트를 진행하면서 셸 프로그래밍을 숙달할 수 있어야 한다. 실험하는 것을 두려워하지 말라. 프로그램 예시에서 커맨드를 변경해 커맨드의 결과를 확인하거나 다른 옵션 또는 기능을 추가해 프로그램을 좀 더 유용하고 견고하게 만들어보자.

목차

1장. 기초 내용 빠르게 살펴보기
__기본 커맨드
____날짜와 시간 출력: date 커맨드
____로그인된 사용자 확인: who 커맨드
____문자 출력: echo 커맨드
__파일 작업
____파일 출력: ls 커맨드
____파일 내용 출력: cat 커맨드
____파일의 단어 수 계산: wc 커맨드
____커맨드 옵션
____파일 복사: cp 커맨드
____파일 이름 변경: mv 커맨드
____파일 삭제: rm 커맨드
__디렉터리에서 작업
____홈 디렉터리와 경로 이름
____작업 디렉터리 출력: pwd 커맨드
____디렉터리 변경: cd 커맨드
____ls 커맨드
____디렉터리 생성: mkdir 커맨드
____특정 파일을 다른 디렉터리로 복사
____디렉터리 간 파일 이동
____파일 링크: ln 커맨드
____디렉터리 삭제: rmdir 커맨드
__파일 이름 대체
____별표
____일치하는 단일 문자
__파일 이름의 미묘한 차이
____파일 이름의 공백
____기타 특이한 문자
__표준 입력/출력과 I/O 리디렉션
____표준 입력과 표준 출력
____출력 리디렉션
____입력 리디렉션
__파이프
____필터
__표준 에러
__추가 커맨드
____한 라인에 하나 이상의 커맨드를 입력
____커맨드를 백그라운드로 실행하기
____ps 커맨드
__커맨드 요약

2장. 셸이란?
__커널과 유틸리티
__로그인 셸
__셸에 커맨드를 입력
__셸의 책임
____프로그램 실행
____변수와 파일 이름 대체
____I/O 리디렉션
____파이프라인 연결
____환경 제어
____인터프리터 프로그래밍 언어

3장. 필요한 도구
__정규 표현식
____모든 문자와 일치: 마침표(.)
____라인의 시작과 일치: 캐럿(^)
____라인의 끝과 일치: 달러 기호($)
____문자 집합과 일치: […] 구문
____0개 이상의 문자와 일치: 별표(*)
____하위 패턴의 정확한 숫자와 일치 :\{...\}
____일치하는 문자 저장: \(...\)
__CUT
__PASTE
__sed
__tr
__grep
__sort
__uniq

4장. 함께 가는 여행
__커맨드 파일
____주석
__변수
____변수의 값 출력하기
____정의되지 않은 변수는 널 값을 가진다
____파일 이름 대체와 변수
____${variable} 구문
__내장 정수 연산

5장. 따옴표
__작은따옴표
__큰따옴표
__역슬래시
____역슬래시를 사용해 여러 라인에 걸쳐 커맨드 실행하기
____큰따옴표 내의 역슬래시
__커맨드 대체
____역따옴표
____$(...) 구문
____expr 커맨드

6장. 매개변수 전달하기
__$# 변수
__$* 변수
__전화번호부에서 특정 인물을 찾는 프로그램
__전화번호부에 특정 인물을 추가하는 프로그램
__전화번호부에서 특정 인물을 삭제하는 프로그램
____${n}
__shift 커맨드

7장. 결정, 결정
__종료 상태
____$? 변수
__test 커맨드
____문자열 연산자
____test에 대한 대체 형식
____정수 연산자
____파일 연산자
____논리 부정 연산자 !
____논리 AND 연산자 -a
____괄호
____논리 OR 연산자 -o
__else 구문
__exit 커맨드
____rem 프로그램 다시 살펴보기
__elif 구문
____rem의 다른 버전
__case 커맨드
____특수 패턴 매칭 문자
____프로그램을 디버깅할 수 있는 -x 옵션
____case 살펴보기
__널 커맨드 :
__&&와 || 구문

8장. 루프
__for 커맨드
____$@ 변수
____리스트 없는 for
__while 커맨드
__until 커맨드
__루프 더 살펴보기
____루프에서 나가기
____루프에서 나머지 커맨드 건너뛰기
____백그라운드로 루프 실행하기
____루프에서의 I/O 리디렉션
____루프 안팎으로 데이터를 파이프로 연결하기
____한 라인에서 루프 실행하기
__getopts 커맨드

9장. 데이터를읽고출력하기
__read 커맨드
____파일을 복사하는 프로그램
____문자를 이스케이프 처리하는 특별한 echo
____mycp를 개선한 버전
____mycp의 최종 버전
____메뉴로 구동되는 전화번호부 프로그램
____$$ 변수와 임시 파일
____read의 종료 상태
__printf 커맨드

10장. 사용자환경
__지역 변수
____서브셸
__export 변수
____export -p
__PS1과 PS2
__HOME
__PATH
__현재 디렉터리
____CDPATH
__서브셸의 추가 정보
____. 커맨드
____exec 커맨드
____(...)와 {...;} 구문
____서브셸에 변수를 전달할 수 있는 다른 방법
__.PROFILE 파일
____term 변수
____TZ 변수

11장. 매개변수 더 살펴보기
__매개변수 대체
__$0 변수
__set 커맨드
__IFS 변수
__READONLY 커맨드
__unset 커맨드

12장. 미진한 부분 살펴보기
__eval 커맨드
__wait 커맨드
____$! 변수
__trap 커맨드
____매개변수 없는 trap
____시그널 무시하기
____trap을 재설정하기
__I/O 추가 정보
____<&-와 >&-
____인라인 입력 리디렉션
____셸 아카이브
__함수
____함수 정의 제거
____return 커맨드
__type 커맨드

13장. rolo 수정
__데이터 형식에 대한 고려 사항
__rolo
__add 프로그램
__lu 프로그램
__display 프로그램
__rem 프로그램
__change 프로그램
__listall 프로그램
__예시 결과

14장. 대화식 및 비표준 셸 기능
__올바른 셸 얻기
__ENV 파일
__커맨드라인 편집
__커맨드 히스토리
__vi 라인 편집 모드
____히스토리에서 커맨드 접근하기
__emac 라인 편집 모드
____커맨드 히스토리의 커맨드에 접근하기
__커맨드 히스토리에 접근할 수 있는 또 다른 방법
____history 커맨드
____fc 커맨드
____r 커맨드
__함수
____지역 변수
____자동으로 로드되는 함수
__정수 산술 연산
____정수 타입
____여러 진수의 숫자
__alias 커맨드
____앨리어스 삭제하기
__배열
__작업 제어
____멈춰진 작업과 fg 및 bg 커맨드
__기타 기능
____cd 커맨드의 기타 기능
____물결표 대체
____검색 순서
__호환성 요약

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.