본문 바로가기
IT/Linux

쉘 프로그래밍 시 사용되는 쉘 기능

by 혁클 2021. 4. 16.

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

댓글