목차
1. 쉘이란 무엇인가?
2. 파이프와 재지정
3. 쉘 스크립트 작성
4.제어구조
5. 함수
6. 명령
7. 명령실행
8. here documents
2. 파이프와 재지정
3. 쉘 스크립트 작성
4.제어구조
5. 함수
6. 명령
7. 명령실행
8. here documents
본문내용
다.
4) .명령
마침표(.) 명령은 현재 쉘에서 명령을 실행한다.
일반적으로 스크립트가 외부 명령이나 스크립트를 실행할 때 새로운 환경이 생성되고 명령은 새로운 환경에서 실행되지만 외부 source와 같은 의미의 마침표(.) 명령은 스크립트를 호출한 것과 같은 쉘에서 스크립트에 나열되는 명령을 실행한다.
5) echo
새줄문자를 제거하는 방법쉘 스크립트에서 마침표 명령은 C나 C++에서 #include 지시어처럼 동작한다.
6)eval
eval 명령은 인수를 평가하게 해준다.
7) exec
exec 명령은 현재 쉘을 다른 프로그램으로 대체하는 데 사용된다.
exit wall "Thanks for all the fish"
다음은 현재 쉘을 wall 명령으로 대체할 것이다.
8) exit in
exit 명령은 스크립트가 종료 코드 n을 가지고 종료하게 한다.
쉘 스크립트 프로그래밍에서 종료 코드 0은 성공을 가리키고, 코드 1부터 125까지는 스크립트에 의해 사용될 수 있는 에러 코드이다. 나머지 값은 예약된 의미를 갖는다.
종료코드
설명
126
127
128 이상
파일이 실행 가능하지 않았다.
명령이 발견되지 않았다.
시그널이 발생했다.
9) export
export 명령은 파라미터로 지정된 변수를 서브 쉘에서 유효하게 만든다. 이 명령은 파라미터로부터 환경 변수를 생성하고, 이 변수는 현재 프로그램으로부터 호출되는 다른 스크립트와 프로그램에 의해 사용될 수 있다.
10) expr
expr 명령은 인수를 수식으로 평가한다.
x='expr $x + 1'
11) printf
X/Open 사양에서는 형식화된 출력을 사용하기 위해 echo 대신에 이것을 사용해야 한다고 권장하고 있다. 다음의 이스케이프 시퀀스가 지원된다.
이스케이프 시퀀스
설명
\\
\a
\b
\f
\n
\r
\t
\v
\ooo
역슬래시 문자
경고(벨이나 경고음을 울린다)
백스페이스 문자
폼 피드 문자
새 줄 문자
개행 문자
탭 문자
수직 탭 문자
8진수 값 ooo를 가지는 한 문자
12) return
return 명령은 함수가 반환하게 한다. return은 함수를 호출하는 스크립트에 유효한 하나의 숫자 파라미터를 받아들인다.
12) set
set 명령은 쉘을 위한 파라미터 변수를 설정한다.
13) shift
shift 명령은 모든 파라미터 변수를 한 단계 아래로 이동시킨다.
14) trap
trap 명령은 시그널을 받아들일 때 수행하는 동작을 지정하는 데 사용된다.
15) unset
unset 명령은 환경으로부터 변수나 함수를 제거한다.
4. 명령실행
1) 산술확장
간단하게 산술명령을 빠르게 처리하기 위해 $((,..)) 확장을 사용한다.
2) 파라미터 확장
파라미터 확장을ㄹ 사용해 파라미터를 대체하여 수행할 수 있다.
5. here documents
쉘 스크립트로부터 명령으로 입력을 전달하는 방법으로 here document를 사용할 수 있다. 이것은 실제로 스크립트로부터 입력을 받아들이고 있는 동안 명령이 파일이나 키보드로부터 읽어들이는 것처럼 실행되게 해준다.
4) .명령
마침표(.) 명령은 현재 쉘에서 명령을 실행한다.
일반적으로 스크립트가 외부 명령이나 스크립트를 실행할 때 새로운 환경이 생성되고 명령은 새로운 환경에서 실행되지만 외부 source와 같은 의미의 마침표(.) 명령은 스크립트를 호출한 것과 같은 쉘에서 스크립트에 나열되는 명령을 실행한다.
5) echo
새줄문자를 제거하는 방법쉘 스크립트에서 마침표 명령은 C나 C++에서 #include 지시어처럼 동작한다.
6)eval
eval 명령은 인수를 평가하게 해준다.
7) exec
exec 명령은 현재 쉘을 다른 프로그램으로 대체하는 데 사용된다.
exit wall "Thanks for all the fish"
다음은 현재 쉘을 wall 명령으로 대체할 것이다.
8) exit in
exit 명령은 스크립트가 종료 코드 n을 가지고 종료하게 한다.
쉘 스크립트 프로그래밍에서 종료 코드 0은 성공을 가리키고, 코드 1부터 125까지는 스크립트에 의해 사용될 수 있는 에러 코드이다. 나머지 값은 예약된 의미를 갖는다.
종료코드
설명
126
127
128 이상
파일이 실행 가능하지 않았다.
명령이 발견되지 않았다.
시그널이 발생했다.
9) export
export 명령은 파라미터로 지정된 변수를 서브 쉘에서 유효하게 만든다. 이 명령은 파라미터로부터 환경 변수를 생성하고, 이 변수는 현재 프로그램으로부터 호출되는 다른 스크립트와 프로그램에 의해 사용될 수 있다.
10) expr
expr 명령은 인수를 수식으로 평가한다.
x='expr $x + 1'
11) printf
X/Open 사양에서는 형식화된 출력을 사용하기 위해 echo 대신에 이것을 사용해야 한다고 권장하고 있다. 다음의 이스케이프 시퀀스가 지원된다.
이스케이프 시퀀스
설명
\\
\a
\b
\f
\n
\r
\t
\v
\ooo
역슬래시 문자
경고(벨이나 경고음을 울린다)
백스페이스 문자
폼 피드 문자
새 줄 문자
개행 문자
탭 문자
수직 탭 문자
8진수 값 ooo를 가지는 한 문자
12) return
return 명령은 함수가 반환하게 한다. return은 함수를 호출하는 스크립트에 유효한 하나의 숫자 파라미터를 받아들인다.
12) set
set 명령은 쉘을 위한 파라미터 변수를 설정한다.
13) shift
shift 명령은 모든 파라미터 변수를 한 단계 아래로 이동시킨다.
14) trap
trap 명령은 시그널을 받아들일 때 수행하는 동작을 지정하는 데 사용된다.
15) unset
unset 명령은 환경으로부터 변수나 함수를 제거한다.
4. 명령실행
1) 산술확장
간단하게 산술명령을 빠르게 처리하기 위해 $((,..)) 확장을 사용한다.
2) 파라미터 확장
파라미터 확장을ㄹ 사용해 파라미터를 대체하여 수행할 수 있다.
5. here documents
쉘 스크립트로부터 명령으로 입력을 전달하는 방법으로 here document를 사용할 수 있다. 이것은 실제로 스크립트로부터 입력을 받아들이고 있는 동안 명령이 파일이나 키보드로부터 읽어들이는 것처럼 실행되게 해준다.
소개글