본문 바로가기

TroubleShooting/ShellScript

CentOS 버전에 따라서 다른 작업을 하는 shell  스크립트

728x90

시작

쉘 스크립트로 CentOS 5.X 와 6.X 를 구분해서 다른 처리를 해야할때가 있다.


확인

CentOS 버전 구분은 레드햇 계열이라 고맙게도 redhat-release 파일을 참조해서 확인할 수 있다. 최신 6.5 버전은 "CentOS release 6.5 (Final)", 5.X 에서는 "CentOS release 5.10 (Final)" 이런식으로 확인이 가능하다.

CentOS 가 5.8 도 있고, 5.9 도 있고, 5.10 도 있다. 6.X 도 여러버전이 존재할 수 있다. "5." 또는 "6." 로 시작하는 패턴이 존재한다는 것은 알았다.


해결

쉘 스크립트의 패턴 매치(=~)를 이용한다.

#! /bin/bash

ver=`cat /etc/redhat-release | awk '{print $3}'`
if [[ $ver =~ 5. ]]; then
  echo "A"
else
  echo "B"
fi


도움받은 곳

http://www.unix.com/shell-programming-and-scripting/22749-pattern-matching-if-condition.html

http://tldp.org/LDP/abs/html/special-chars.html