서버 관리/리눅스

shell script 정리

jdaemanv2 2023. 4. 17. 23:08

[1. 개요]

리눅스에서 윈도우 배치파일에 대응되는 shell script 작성 및 사용법 정리


[2. 기본적인 작성법]

 

[3. 변수]

기본적인 변수 작성

  • myvar = 5
  • myvar = $(ls -l | grep mylog)
    # 명령어 결과를 저장

디폴트 값이 있는 변수

  • NPROC = ${BUILD_CONCURRENCY:-$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1)}
  • BUILD_CONCURRENCY 가 정의되어 있다면, 이 값을 NPROC 에 할당하고,
  • 정의되어 있지 않다면, 명렁어 결과를 NPROCE 에 할당
  • 여기서도, 표준출력이 없다면 1을 사용한다.
    => stderr 을 전부 null 에 버리므로, stdout 이 없다면, 1 을 사용할 수 밖에 없다.
  • https://stackoverflow.com/questions/2013547/assigning-default-values-to-shell-variables-with-a-single-command-in-bash
  • :- 대신 := 이라면, default 값을 NRPOC 및 BUILD_CONCURRENCY 모두에 할당한다.
    # BUILD_CONCURRENCY 가 정의되어 있지 않다면,,