본문 바로가기
IT 지식정리/운영체제

[Linux shell script 5] 리눅스 쉘스크립트 함수 활용 2015. 2. 8.

by G. Hong 2017. 11. 4.
728x90
반응형

리눅스의 쉘스크립트에서 함수를 사용하는 방법에 대해서 알아보도록 하겠습니다.


지난 번에 변수들을 활용 하여서 스크립트를 출력하는 테스트를 해보았습니다.

이번에는 함수들을 사용하여 유사한 출력이 나오도록 해보겠습니다.


출력에 사용되는 부분은 아래와 같이 4개의 함수를 실행하는 내용 만 존재 하도록 프로그래밍 하였습니다.

cat <<- _EOF_

$(system_title)

$(show_uptime)

$(drive_space)

$(home_space)

_EOF_


함수의 내용들은 각각 지난번에 만든 title변수값, uptime 커맨드, df 커맨드, du -s 커맨드들의 출력값이 표시되도록 하는 것 입니다..

완성된 코드의 내용은 아래와 같습니다.
#cat sysinfo_page
#!/bin/bash
# sysinfo_page

title="System Information for $HOSTNAME"

system_title()
{
        echo -e "$title\n--------------------\n"
}

show_uptime()
{
        echo -e "\nSystem Uptime\n"
        uptime
}

drive_space()
{
        echo -e "--------------------\nFilesystem Space\n"
        df
}

home_space()
{
        echo -e "--------------------\nHome directory space\n"
        du -s /home/* |sort -nr
}

cat <<- _EOF_
$(system_title)
$(show_uptime)
$(drive_space)
$(home_space)
_EOF_

본문이 실행되기 앞서 변수의 값과 함수를 먼저 선언해 준 뒤에 마지막에 모두 출력 및 실행이 되게 됩니다.

결과는 아래와 같습니다.

#./sysinfo_page
System Information for x4200m2
--------------------

System Uptime

 15:38:15 up 4 days, 11:29,  1 user,  load average: 0.00, 0.01, 0.05
--------------------
Filesystem Space

Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2       50264772 5152708  42552064  11% /
tmpfs            3087992      72   3087920   1% /dev/shm
/dev/sda1         487652   56042    406010  13% /boot
--------------------
Home directory space

437884  /home/admin
40      /home/gyhong
32      /home/ki


728x90
반응형