티스토리 뷰



변수명=`명령어`


변수명=$(명령어)



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


- 실습예시

한줄



-> 변수명=`명령어` 를 이용


-> 변수명=$(명령어) 를 이용


여러줄



-> 변수 앞뒤로 따옴표를 붙이지 않았을 경우


-> 변수 앞뒤로 따옴표를 붙였을 경우


관련출처: https://zetawiki.com/wiki/Bash_%EC%8B%A4%ED%96%89%EA%B2%B0%EA%B3%BC%EB%A5%BC_%EB%B3%80%EC%88%98%EC%97%90_%EB%8B%B4%EA%B8%B0

댓글