Exit Status
- ‘종료 상태’
- 명령어를 실행하였을 때 명령의 실행 결과를 숫자로 표기
- 일반적으로 0이 정상 종료 상태를 의미 (반드시 그런 것은 아님)
- $? : 명령어 실행 시 저장된 종료 상태를 조회. 새로운 명령 실행 시 덮어씀
조건부 실행
- 앞 명령의 실행 결과에 따라 뒤 명령의 실행 여부를 결정
- &&
- 앞 명령이 정상적으로 실행될 경우, 뒤 명령을 실행
- 앞 명령이 정상적으로 실행되지 않을 경우, 뒤 명령을 실행하지 않음
- ||
- 앞 명령이 정상적으로 실행되지 않을 경우, 뒤 명령을 실행
- 앞 명령이 정상적으로 실행될 경우, 뒤 명령을 실행하지 않음
========================================================
변수
- Variable. 변경 가능한 데이터가 저장되는 공간
- 쉘 프로그래밍에서의 변수는 특정 유형이 없음
- 쉘 내에서 자유롭게 선언 및 사용이 가능
- 변수 이름=변숫값
- 변수 이름=$변수 이름
- ex) ES=$? // 현재 종료 상태에 저장된 값을 ES변수에 저장
- 변수 이름=`실행 명령`
- 변수 이름=$(실행 명령)
- 모든 입력값을 문자열로 인식
- 특수한 용도의 변수
- $$ : 현재 실행 중인 쉘의 PID
- $? : 이전 작업의 Exit Status
- $! : 백그라운드로 실행된 프로세스의 PID
- 스크립트 내에서 선언된 변수는 스크립트 내에서만 유효함(지역변수)
- 전역 변수 : ㄷ로 조회되는 변수는 쉘 내에서 호출한 쉘에서도 접근 가능
- export <변수명> : 생성되어 있는 지역변수를 전역 변수로 변경
- export <변수명>=<값> : 변수를 전역 변수로 선언
위치 매개변수(Positional Parameter)
- 명령어 내에서의 위치 (인자, Argument)
- 위치 매개변수의 유형
- $0 : 현재 실행 중인 쉘 스크립트의 이름
- $1~ : 현재 스크립트 실행 시 사용된 인자
- $# : 전체 위치 매개변수의 개수
- $*, $@ : 위치 매개변수 전체
- 가장 마지막 위치매개변수 접근
- $# : 위치 매개변수의 개수 = 마지막 위치매개변수의 위치
- echo $$# (X) : $$ 가 해석되어 사용불가
- echo \$$# : \에 의해 앞 $가 사용되지 않아 뒤 $#가 인식되지만, \에 의해 일반 문자로 인식되어 지정된 위치의 위치 매개변수 가져올 수 없음
- eval echo \$$# : eval에 의해 뒤쪽 $기호가 다시 인식되어 마지막 위치 매개변수의 값을 가져올 수 있음
- shift
- 위치 매개변수를 좌측으로 1칸씩 이동
- shift [개수] : 한꺼번에 지정한 개수만큼 시프트
================================================================
산술 연산
- expr : 산술 연산 수식을 인자로 받아서 처리. 소수점 처리 불가능
- ex) expr 10 + 3
- bc : 산술 연산 수신을 입력으로 받아서 처리. 소수점 처리 가능 (scale)
- ex) echo 10/3 | bc
- ex) echo “scale=3;10/3” | bc
- let
*이 포스팅은 엔코아 플레이 데이터 수업 내용을 참고로 합니다.
'IT > Linux' 카테고리의 다른 글
쉘 프로그래밍의 이해 (0) | 2021.04.15 |
---|---|
파일 기반 공유 스토리지 (0) | 2021.04.14 |
SSH (0) | 2021.04.13 |
소프트웨어 패키지 관리(rpm,yum) (0) | 2021.04.10 |
네트워크 관리(기초,NetworkManger,호스트이름) (0) | 2021.04.08 |
댓글