1. 명령 대체 $( ), ` `
LANG=C; echo "today is $(date)"
위와 같이 $( )내에 원하는 명령어를 입력하면, 해당 명령어가 먼저 실행되고 실행 결과가 함께 표현 될 수 있음LANG=C; echo "today is `date`"
위와 같이 ` ` 를 사용하여 명령 대체를 사용 할 수 있음2. 명령 대체 속 논리연산자
export DIR1="$( cd dir1 || { mkdir dir1 && cd dir1;}; pwd )"
cd dir1 이 성공할 경우 { mkdir dir1 && cd dir1;} 실행 안함, pwd 실행하여 변수 DIR1에 값 저장
cd dir1 에 실패할 경우 { mkdir dir1 && cd dir1;} 실행, pwd 실행하여 변수 DIR1에 값 저장
위와 같은 결과 출력
1. $(( )) 를 통한 산술 확장
아래와 같이 산술 확장 내부에서는 변수명에 '$'를 생략할 수 있음
2. 산술 확장을 통한 연산자 사용
산술 확장 내부에서는 다양한 연산자를 사용 가능
3. 쉘 스크립트의 반복문에서 참과 거짓
쉘 스크립트의 반복문에서는 0이 거짓을 의미하며, 1이 참을 의미, 아래와 같은 결과 나타냄
1. 종료상태 값($?)
직전 명령의 종료상태를 나타내는 값은 ?에 저장됨, 성공:0, 실패:1
2. 종료 상태를 이용한 논리연산
exit 0: 쉘 종료시 성공하였다는 의미의 0 을 반환
exit 1: 쉘 종료시 오류 발생하였다는 의미의 1을 반환
1. 논리 연산 ||
ls dir || { mkdir dir; }
- ls dir 명령어 성공할 경우 { mkdir dir; } 실행 안함
- ls dir 명령어 실패할 경우 { mkdir dir; } 실행
2. 논리 연산 &&
cd mydir && ./myscript
- cd mydir 명령어 성공할 경우 ./myscript 실행
- cd mydir 명령어 실패할 경우 ./myscript 실행 안함