쉘 스크립트에서 실행결과가 변수에 저장되지 않는 경우 변수 저장 방법
2020. 6. 5. 10:49ㆍIT/S . e . v . e . r . I . n . f . r . a
쉘 스크립트에서 일반적인 실행 결과를 변수로 저장하고 싶을 때는
아래와 같이 하면 변수에 결과 값이 저장이 되지만
VAR_TEST=$(date +%Y)
echo ${VAR_TEST}
웹서버의 종류나 버전 정보를 보기 위해
-v 옵션을 준 커맨드를 실행하면 이 결과 값이 일반적인 방법으로는 저장되지 않는다.
VAR_TEST=$(httpd -v | awk '{print $1}')
echo ${VAR_TEST}
이럴 때 출력 결과를 변수에 저장하고 싶다면 아래와 같은 방법을 사용해 보길 바란다.
아래 내용은 표준에러를 표준출력으로 리다이렉트해서 변수로 저장할 수 있게 한 것이다.
VAR_TEST=$(httpd -v 2>&1 | awk '{print $1}')
echo ${VAR_TEST}
좀 더 심화해서 출력되는 내용을 가공해서 필요한 정보로 만들 수도 있다.
VAR_WEB_DM=$(nginx -v 2>&1 | awk '{split($3,VAR_WEB," |/");print VAR_WEB[1],VAR_WEB[2]}')
VAR_WEB_ARR=(${VAR_WEB_DM})
echo ${VAR_WEB_ARR[0]}
echo ${VAR_WEB_ARR[1]}
'IT > S . e . v . e . r . I . n . f . r . a' 카테고리의 다른 글
find 명령의 mtime 옵션 정리 (0) | 2021.02.08 |
---|---|
쉘 스크립트에서 문자열이 매칭되었을 때 분기하기 (0) | 2020.06.05 |
Bash쉘에서 파일명 일괄 대소문자 변환 (0) | 2020.06.05 |
쉘 스크립트에서 특정조건의 파일을 찾아 이동, 복사하기 (2) | 2020.06.05 |
find 커맨드 exec과 ok 옵션의 차이 (0) | 2020.06.05 |
root 에게 오는 시스템 체크의 메일중단시키기 (0) | 2020.06.05 |