리눅스 echo 를 변수에 담기
변수명=`명령어`
변수명=$(명령어)
STR 이라는 변수가 있을 경우 STR+= 를 이용하면 내용을 이어서 붙일 수 있다.
최종출력에서 변수 앞뒤로 큰따옴표를 붙여야 한줄로 나오지 않고 원본과 동일하게 출력된다.
ex) echo -e "$STR"
줄바꿈을 하려면 -e 옵션을 추가한다.
#!/bin/sh
datetime=`date +%Y%m%d`
if [ ! -d /nas/xmerce/ozmnc/upload/check_server/$datetime ]; then
mkdir /nas/xmerce/ozmnc/upload/check_server/$datetime
fi
STR=$(echo "\n###################################장비명####################################\n")
serverName=`/usr/sbin/dmidecode | grep "Product Name:"`
STR+=$(echo "$serverName\n")
STR+=$(echo "#############################################################################\n")
STR+=$(echo "###################################좀비프로세스체크##########################\n")
zombieCheck=`ps -ef | grep defunct | grep -v grep | wc -l`
STR+=$(echo "$zombieCheck\n")
STR+=$(echo "#############################################################################\n")
STR+=$(echo "###################################방화벽상태################################\n")
ipTables=`/sbin/iptables -nL | grep tcp`
STR+=$(echo "$ipTables\n")
STR+=$(echo "#############################################################################\n")
STR+=$(echo "###################################하드용량##################################\n")
hardCheck=`df`
STR+=$(echo "$hardCheck\n")
STR+=$(echo "#############################################################################\n")
STR+=$(echo "###################################아이피####################################\n")
serverIp=`/sbin/ip addr | grep "inet " | grep brd | awk '{print $2}' | awk -F/ '{print $1}'`
STR+=$(echo "$serverIp\n")
STR+=$(echo "#############################################################################\n")
STR+=$(echo "##################################아파치프로세스(수)#########################\n")
httpdCnt=`ps aux | grep httpd | wc -l`
STR+=$(echo "$httpdCnt\n")
STR+=$(echo "#############################################################################\n")
STR+=$(echo "##################################메모리#####################################\n")
MemCheck=`ps -eo user,pid,rss,pmem,pcpu,cmd,comm --sort -rss | head -n 10`
STR+=$(echo "$MemCheck\n")
STR+=$(echo "#############################################################################\n")
#STR+=$(echo "##################################최근접속자#################################\n")
#secureLogin=`last -n 10`
#STR+=$(echo "$secureLogin\n")
#STR+=$(echo "#############################################################################\n")
echo -e "$STR" > /home/ozmnc/upload/check_server/$datetime/128.txt
- 실습예시
한줄
-> 변수명=`명령어` 를 이용
-> 변수명=$(명령어) 를 이용
여러줄
-> 변수 앞뒤로 따옴표를 붙이지 않았을 경우
-> 변수 앞뒤로 따옴표를 붙였을 경우